` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */ const SelectList = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function SelectList(componentProps, forwardedRef) {\n const { className, render, style, ...elementProps } = componentProps;\n const { store, scrollHandlerRef } = (0,_root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_1__.useSelectRootContext)();\n const { alignItemWithTriggerActive } = (0,_positioner_SelectPositionerContext_js__WEBPACK_IMPORTED_MODULE_2__.useSelectPositionerContext)();\n const hasScrollArrows = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_3__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_4__.selectors.hasScrollArrows);\n const openMethod = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_3__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_4__.selectors.openMethod);\n const multiple = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_3__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_4__.selectors.multiple);\n const id = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_3__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_4__.selectors.id);\n const defaultProps = {\n id: `${id}-list`,\n role: 'listbox',\n 'aria-multiselectable': multiple || undefined,\n onScroll (event) {\n scrollHandlerRef.current?.(event.currentTarget);\n },\n ...alignItemWithTriggerActive && {\n style: _popup_utils_js__WEBPACK_IMPORTED_MODULE_5__.LIST_FUNCTIONAL_STYLES\n },\n className: hasScrollArrows && openMethod !== 'touch' ? _utils_styles_js__WEBPACK_IMPORTED_MODULE_6__.styleDisableScrollbar.className : undefined\n };\n const setListElement = (0,_base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_7__.useStableCallback)({\n \"SelectList.SelectList.useStableCallback[setListElement]\": (element)=>{\n store.set('listElement', element);\n }\n }[\"SelectList.SelectList.useStableCallback[setListElement]\"]);\n return (0,_internals_useRenderElement_js__WEBPACK_IMPORTED_MODULE_8__.useRenderElement)('div', componentProps, {\n ref: [\n forwardedRef,\n setListElement\n ],\n props: [\n defaultProps,\n elementProps\n ]\n });\n});\nif (true) SelectList.displayName = \"SelectList\";\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9saXN0L1NlbGVjdExpc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztnRUFFK0I7QUFDc0M7QUFDckI7QUFDb0I7QUFDa0I7QUFDZjtBQUNUO0FBQ0g7QUFDbkI7QUFFeEM7Ozs7O0NBS0MsR0FDTSxNQUFNUyxhQUFhLFdBQVcsR0FBRVQsNkNBQWdCLENBQUMsU0FBU1MsV0FBV0UsY0FBYyxFQUFFQyxZQUFZO0lBQ3RHLE1BQU0sRUFDSkMsU0FBUyxFQUNUQyxNQUFNLEVBQ05DLEtBQUssRUFDTCxHQUFHQyxjQUNKLEdBQUdMO0lBQ0osTUFBTSxFQUNKTSxLQUFLLEVBQ0xDLGdCQUFnQixFQUNqQixHQUFHZixnRkFBb0JBO0lBQ3hCLE1BQU0sRUFDSmdCLDBCQUEwQixFQUMzQixHQUFHZixrR0FBMEJBO0lBQzlCLE1BQU1nQixrQkFBa0JsQiw4REFBUUEsQ0FBQ2UsT0FBT1QsZ0RBQVNBLENBQUNZLGVBQWU7SUFDakUsTUFBTUMsYUFBYW5CLDhEQUFRQSxDQUFDZSxPQUFPVCxnREFBU0EsQ0FBQ2EsVUFBVTtJQUN2RCxNQUFNQyxXQUFXcEIsOERBQVFBLENBQUNlLE9BQU9ULGdEQUFTQSxDQUFDYyxRQUFRO0lBQ25ELE1BQU1DLEtBQUtyQiw4REFBUUEsQ0FBQ2UsT0FBT1QsZ0RBQVNBLENBQUNlLEVBQUU7SUFDdkMsTUFBTUMsZUFBZTtRQUNuQkQsSUFBSSxHQUFHQSxHQUFHLEtBQUssQ0FBQztRQUNoQkUsTUFBTTtRQUNOLHdCQUF3QkgsWUFBWUk7UUFDcENDLFVBQVNDLEtBQUs7WUFDWlYsaUJBQWlCVyxPQUFPLEdBQUdELE1BQU1FLGFBQWE7UUFDaEQ7UUFDQSxHQUFJWCw4QkFBOEI7WUFDaENKLE9BQU9SLG1FQUFzQkE7UUFDL0IsQ0FBQztRQUNETSxXQUFXTyxtQkFBbUJDLGVBQWUsVUFBVWYsbUVBQXFCQSxDQUFDTyxTQUFTLEdBQUdhO0lBQzNGO0lBQ0EsTUFBTUssaUJBQWlCOUIsbUZBQWlCQTttRUFBQytCLENBQUFBO1lBQ3ZDZixNQUFNZ0IsR0FBRyxDQUFDLGVBQWVEO1FBQzNCOztJQUNBLE9BQU8zQixnRkFBZ0JBLENBQUMsT0FBT00sZ0JBQWdCO1FBQzdDdUIsS0FBSztZQUFDdEI7WUFBY21CO1NBQWU7UUFDbkNJLE9BQU87WUFBQ1g7WUFBY1I7U0FBYTtJQUNyQztBQUNGLEdBQUc7QUFDSCxJQUFJb0IsSUFBcUMsRUFBRTNCLFdBQVc0QixXQUFXLEdBQUciLCJzb3VyY2VzIjpbIi9ob21lL3NpbHZpby9EZXZlbG9wL0NJUlVYLUFQUC9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9saXN0L1NlbGVjdExpc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VTdGFibGVDYWxsYmFjayB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL3VzZVN0YWJsZUNhbGxiYWNrJztcbmltcG9ydCB7IHVzZVN0b3JlIH0gZnJvbSAnQGJhc2UtdWkvdXRpbHMvc3RvcmUnO1xuaW1wb3J0IHsgdXNlU2VsZWN0Um9vdENvbnRleHQgfSBmcm9tIFwiLi4vcm9vdC9TZWxlY3RSb290Q29udGV4dC5qc1wiO1xuaW1wb3J0IHsgdXNlU2VsZWN0UG9zaXRpb25lckNvbnRleHQgfSBmcm9tIFwiLi4vcG9zaXRpb25lci9TZWxlY3RQb3NpdGlvbmVyQ29udGV4dC5qc1wiO1xuaW1wb3J0IHsgdXNlUmVuZGVyRWxlbWVudCB9IGZyb20gXCIuLi8uLi9pbnRlcm5hbHMvdXNlUmVuZGVyRWxlbWVudC5qc1wiO1xuaW1wb3J0IHsgc3R5bGVEaXNhYmxlU2Nyb2xsYmFyIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3N0eWxlcy5qc1wiO1xuaW1wb3J0IHsgTElTVF9GVU5DVElPTkFMX1NUWUxFUyB9IGZyb20gXCIuLi9wb3B1cC91dGlscy5qc1wiO1xuaW1wb3J0IHsgc2VsZWN0b3JzIH0gZnJvbSBcIi4uL3N0b3JlLmpzXCI7XG5cbi8qKlxuICogQSBjb250YWluZXIgZm9yIHRoZSBzZWxlY3QgaXRlbXMuXG4gKiBSZW5kZXJzIGEgYDxkaXY+YCBlbGVtZW50LlxuICpcbiAqIERvY3VtZW50YXRpb246IFtCYXNlIFVJIFNlbGVjdF0oaHR0cHM6Ly9iYXNlLXVpLmNvbS9yZWFjdC9jb21wb25lbnRzL3NlbGVjdClcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdExpc3QgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBTZWxlY3RMaXN0KGNvbXBvbmVudFByb3BzLCBmb3J3YXJkZWRSZWYpIHtcbiAgY29uc3Qge1xuICAgIGNsYXNzTmFtZSxcbiAgICByZW5kZXIsXG4gICAgc3R5bGUsXG4gICAgLi4uZWxlbWVudFByb3BzXG4gIH0gPSBjb21wb25lbnRQcm9wcztcbiAgY29uc3Qge1xuICAgIHN0b3JlLFxuICAgIHNjcm9sbEhhbmRsZXJSZWZcbiAgfSA9IHVzZVNlbGVjdFJvb3RDb250ZXh0KCk7XG4gIGNvbnN0IHtcbiAgICBhbGlnbkl0ZW1XaXRoVHJpZ2dlckFjdGl2ZVxuICB9ID0gdXNlU2VsZWN0UG9zaXRpb25lckNvbnRleHQoKTtcbiAgY29uc3QgaGFzU2Nyb2xsQXJyb3dzID0gdXNlU3RvcmUoc3RvcmUsIHNlbGVjdG9ycy5oYXNTY3JvbGxBcnJvd3MpO1xuICBjb25zdCBvcGVuTWV0aG9kID0gdXNlU3RvcmUoc3RvcmUsIHNlbGVjdG9ycy5vcGVuTWV0aG9kKTtcbiAgY29uc3QgbXVsdGlwbGUgPSB1c2VTdG9yZShzdG9yZSwgc2VsZWN0b3JzLm11bHRpcGxlKTtcbiAgY29uc3QgaWQgPSB1c2VTdG9yZShzdG9yZSwgc2VsZWN0b3JzLmlkKTtcbiAgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAgIGlkOiBgJHtpZH0tbGlzdGAsXG4gICAgcm9sZTogJ2xpc3Rib3gnLFxuICAgICdhcmlhLW11bHRpc2VsZWN0YWJsZSc6IG11bHRpcGxlIHx8IHVuZGVmaW5lZCxcbiAgICBvblNjcm9sbChldmVudCkge1xuICAgICAgc2Nyb2xsSGFuZGxlclJlZi5jdXJyZW50Py4oZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgfSxcbiAgICAuLi4oYWxpZ25JdGVtV2l0aFRyaWdnZXJBY3RpdmUgJiYge1xuICAgICAgc3R5bGU6IExJU1RfRlVOQ1RJT05BTF9TVFlMRVNcbiAgICB9KSxcbiAgICBjbGFzc05hbWU6IGhhc1Njcm9sbEFycm93cyAmJiBvcGVuTWV0aG9kICE9PSAndG91Y2gnID8gc3R5bGVEaXNhYmxlU2Nyb2xsYmFyLmNsYXNzTmFtZSA6IHVuZGVmaW5lZFxuICB9O1xuICBjb25zdCBzZXRMaXN0RWxlbWVudCA9IHVzZVN0YWJsZUNhbGxiYWNrKGVsZW1lbnQgPT4ge1xuICAgIHN0b3JlLnNldCgnbGlzdEVsZW1lbnQnLCBlbGVtZW50KTtcbiAgfSk7XG4gIHJldHVybiB1c2VSZW5kZXJFbGVtZW50KCdkaXYnLCBjb21wb25lbnRQcm9wcywge1xuICAgIHJlZjogW2ZvcndhcmRlZFJlZiwgc2V0TGlzdEVsZW1lbnRdLFxuICAgIHByb3BzOiBbZGVmYXVsdFByb3BzLCBlbGVtZW50UHJvcHNdXG4gIH0pO1xufSk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSBTZWxlY3RMaXN0LmRpc3BsYXlOYW1lID0gXCJTZWxlY3RMaXN0XCI7Il0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhYmxlQ2FsbGJhY2siLCJ1c2VTdG9yZSIsInVzZVNlbGVjdFJvb3RDb250ZXh0IiwidXNlU2VsZWN0UG9zaXRpb25lckNvbnRleHQiLCJ1c2VSZW5kZXJFbGVtZW50Iiwic3R5bGVEaXNhYmxlU2Nyb2xsYmFyIiwiTElTVF9GVU5DVElPTkFMX1NUWUxFUyIsInNlbGVjdG9ycyIsIlNlbGVjdExpc3QiLCJmb3J3YXJkUmVmIiwiY29tcG9uZW50UHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJjbGFzc05hbWUiLCJyZW5kZXIiLCJzdHlsZSIsImVsZW1lbnRQcm9wcyIsInN0b3JlIiwic2Nyb2xsSGFuZGxlclJlZiIsImFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlIiwiaGFzU2Nyb2xsQXJyb3dzIiwib3Blbk1ldGhvZCIsIm11bHRpcGxlIiwiaWQiLCJkZWZhdWx0UHJvcHMiLCJyb2xlIiwidW5kZWZpbmVkIiwib25TY3JvbGwiLCJldmVudCIsImN1cnJlbnQiLCJjdXJyZW50VGFyZ2V0Iiwic2V0TGlzdEVsZW1lbnQiLCJlbGVtZW50Iiwic2V0IiwicmVmIiwicHJvcHMiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/list/SelectList.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/popup/SelectPopup.js":
/*!*********************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/popup/SelectPopup.js ***!
\*********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectPopup: () => (/* binding */ SelectPopup)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @floating-ui/utils */ \"(ssr)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\");\n/* harmony import */ var _base_ui_utils_addEventListener__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @base-ui/utils/addEventListener */ \"(ssr)/./node_modules/@base-ui/utils/esm/addEventListener.js\");\n/* harmony import */ var _base_ui_utils_detectBrowser__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @base-ui/utils/detectBrowser */ \"(ssr)/./node_modules/@base-ui/utils/esm/detectBrowser.js\");\n/* harmony import */ var _base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @base-ui/utils/useStableCallback */ \"(ssr)/./node_modules/@base-ui/utils/esm/useStableCallback.js\");\n/* harmony import */ var _base_ui_utils_owner__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @base-ui/utils/owner */ \"(ssr)/./node_modules/@base-ui/utils/esm/owner.js\");\n/* harmony import */ var _base_ui_utils_owner__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @base-ui/utils/owner */ \"(ssr)/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\");\n/* harmony import */ var _base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @base-ui/utils/useIsoLayoutEffect */ \"(ssr)/./node_modules/@base-ui/utils/esm/useIsoLayoutEffect.js\");\n/* harmony import */ var _base_ui_utils_store__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @base-ui/utils/store */ \"(ssr)/./node_modules/@base-ui/utils/esm/store/useStore.js\");\n/* harmony import */ var _base_ui_utils_useAnimationFrame__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @base-ui/utils/useAnimationFrame */ \"(ssr)/./node_modules/@base-ui/utils/esm/useAnimationFrame.js\");\n/* harmony import */ var _floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../floating-ui-react/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingFocusManager.js\");\n/* harmony import */ var _floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../floating-ui-react/index.js */ \"(ssr)/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\");\n/* harmony import */ var _root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../root/SelectRootContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/root/SelectRootContext.js\");\n/* harmony import */ var _utils_popupStateMapping_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/popupStateMapping.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/popupStateMapping.js\");\n/* harmony import */ var _positioner_SelectPositionerContext_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../positioner/SelectPositionerContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/positioner/SelectPositionerContext.js\");\n/* harmony import */ var _utils_styles_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../utils/styles.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/styles.js\");\n/* harmony import */ var _internals_stateAttributesMapping_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../internals/stateAttributesMapping.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/stateAttributesMapping.js\");\n/* harmony import */ var _internals_useOpenChangeComplete_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../internals/useOpenChangeComplete.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/useOpenChangeComplete.js\");\n/* harmony import */ var _internals_useRenderElement_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../internals/useRenderElement.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/useRenderElement.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../store.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/store.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./utils.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/popup/utils.js\");\n/* harmony import */ var _internals_createBaseUIEventDetails_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../internals/createBaseUIEventDetails.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/createBaseUIEventDetails.js\");\n/* harmony import */ var _internals_reasons_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../internals/reasons.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/reason-parts.js\");\n/* harmony import */ var _toolbar_root_ToolbarRootContext_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../toolbar/root/ToolbarRootContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/toolbar/root/ToolbarRootContext.js\");\n/* harmony import */ var _internals_composite_composite_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../internals/composite/composite.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/composite/composite.js\");\n/* harmony import */ var _utils_getDisabledMountTransitionStyles_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../utils/getDisabledMountTransitionStyles.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/getDisabledMountTransitionStyles.js\");\n/* harmony import */ var _internals_clamp_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../internals/clamp.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/clamp.js\");\n/* harmony import */ var _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../utils/scrollEdges.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/scrollEdges.js\");\n/* harmony import */ var _csp_provider_CSPContext_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../csp-provider/CSPContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/csp-provider/CSPContext.js\");\n/* harmony import */ var _internals_direction_context_DirectionContext_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../internals/direction-context/DirectionContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/direction-context/DirectionContext.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ SelectPopup auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst stateAttributesMapping = {\n ..._utils_popupStateMapping_js__WEBPACK_IMPORTED_MODULE_2__.popupStateMapping,\n ..._internals_stateAttributesMapping_js__WEBPACK_IMPORTED_MODULE_3__.transitionStatusMapping\n};\n/**\n * A container for the select list.\n * Renders a `
` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */ const SelectPopup = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function SelectPopup(componentProps, forwardedRef) {\n const { render, className, style, finalFocus, ...elementProps } = componentProps;\n const { store, popupRef, onOpenChangeComplete, setOpen, valueRef, selectedItemTextRef, keyboardActiveRef, multiple, handleScrollArrowVisibility, scrollHandlerRef, listRef, highlightItemOnHover } = (0,_root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_4__.useSelectRootContext)();\n const { side, align, alignItemWithTriggerActive, isPositioned, setControlledAlignItemWithTrigger, scrollDownArrowRef, scrollUpArrowRef } = (0,_positioner_SelectPositionerContext_js__WEBPACK_IMPORTED_MODULE_5__.useSelectPositionerContext)();\n const insideToolbar = (0,_toolbar_root_ToolbarRootContext_js__WEBPACK_IMPORTED_MODULE_6__.useToolbarRootContext)(true) != null;\n const floatingRootContext = (0,_root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_4__.useSelectFloatingContext)();\n const direction = (0,_internals_direction_context_DirectionContext_js__WEBPACK_IMPORTED_MODULE_7__.useDirection)();\n const { nonce, disableStyleElements } = (0,_csp_provider_CSPContext_js__WEBPACK_IMPORTED_MODULE_8__.useCSPContext)();\n const id = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_9__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_10__.selectors.id);\n const open = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_9__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_10__.selectors.open);\n const mounted = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_9__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_10__.selectors.mounted);\n const popupProps = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_9__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_10__.selectors.popupProps);\n const transitionStatus = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_9__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_10__.selectors.transitionStatus);\n const triggerElement = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_9__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_10__.selectors.triggerElement);\n const positionerElement = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_9__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_10__.selectors.positionerElement);\n const listElement = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_9__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_10__.selectors.listElement);\n const reachedMaxHeightRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const initialPlacedRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const originalPositionerStylesRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef({});\n const scrollArrowFrame = (0,_base_ui_utils_useAnimationFrame__WEBPACK_IMPORTED_MODULE_11__.useAnimationFrame)();\n const handleScroll = (0,_base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_12__.useStableCallback)({\n \"SelectPopup.SelectPopup.useStableCallback[handleScroll]\": (scroller)=>{\n if (!positionerElement || !popupRef.current || !initialPlacedRef.current) {\n return;\n }\n if (reachedMaxHeightRef.current || !alignItemWithTriggerActive) {\n handleScrollArrowVisibility();\n return;\n }\n const isTopPositioned = positionerElement.style.top === '0px';\n const isBottomPositioned = positionerElement.style.bottom === '0px';\n if (!isTopPositioned && !isBottomPositioned) {\n handleScrollArrowVisibility();\n return;\n }\n const scale = getScale(positionerElement);\n const currentHeight = normalizeSize(positionerElement.getBoundingClientRect().height, 'y', scale);\n const doc = (0,_base_ui_utils_owner__WEBPACK_IMPORTED_MODULE_13__.ownerDocument)(positionerElement);\n const positionerStyles = getComputedStyle(positionerElement);\n const marginTop = parseFloat(positionerStyles.marginTop);\n const marginBottom = parseFloat(positionerStyles.marginBottom);\n const maxPopupHeight = getMaxPopupHeight(getComputedStyle(popupRef.current));\n const maxAvailableHeight = Math.min(doc.documentElement.clientHeight - marginTop - marginBottom, maxPopupHeight);\n const scrollTop = scroller.scrollTop;\n const maxScrollTop = getMaxScrollTop(scroller);\n let nextPositionerHeight = 0;\n let nextScrollTop = null;\n let setReachedMax = false;\n let scrollToMax = false;\n const setHeight = {\n \"SelectPopup.SelectPopup.useStableCallback[handleScroll].setHeight\": (height)=>{\n positionerElement.style.height = `${height}px`;\n }\n }[\"SelectPopup.SelectPopup.useStableCallback[handleScroll].setHeight\"];\n const handleSmallDiff = {\n \"SelectPopup.SelectPopup.useStableCallback[handleScroll].handleSmallDiff\": (diff, targetScrollTop)=>{\n const heightDelta = (0,_internals_clamp_js__WEBPACK_IMPORTED_MODULE_14__.clamp)(diff, 0, maxAvailableHeight - currentHeight);\n if (heightDelta > 0) {\n // Consume the remaining scroll in height.\n setHeight(currentHeight + heightDelta);\n }\n scroller.scrollTop = targetScrollTop;\n if (maxAvailableHeight - (currentHeight + heightDelta) <= _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_15__.SCROLL_EDGE_TOLERANCE_PX) {\n reachedMaxHeightRef.current = true;\n }\n handleScrollArrowVisibility();\n }\n }[\"SelectPopup.SelectPopup.useStableCallback[handleScroll].handleSmallDiff\"];\n const diff = isTopPositioned ? maxScrollTop - scrollTop : scrollTop;\n const nextHeight = Math.min(currentHeight + diff, maxAvailableHeight);\n nextPositionerHeight = nextHeight;\n if (diff <= _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_15__.SCROLL_EDGE_TOLERANCE_PX) {\n handleSmallDiff(diff, isTopPositioned ? maxScrollTop : 0);\n return;\n }\n if (maxAvailableHeight - nextHeight > _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_15__.SCROLL_EDGE_TOLERANCE_PX) {\n if (isTopPositioned) {\n scrollToMax = true;\n } else {\n nextScrollTop = 0;\n }\n } else {\n setReachedMax = true;\n if (isBottomPositioned && scrollTop < maxScrollTop) {\n const overshoot = currentHeight + diff - maxAvailableHeight;\n nextScrollTop = scrollTop - (diff - overshoot);\n }\n }\n nextPositionerHeight = Math.ceil(nextPositionerHeight);\n if (nextPositionerHeight !== 0) {\n setHeight(nextPositionerHeight);\n }\n if (scrollToMax || nextScrollTop != null) {\n // Recompute bounds after resizing (clientHeight likely changed).\n const nextMaxScrollTop = getMaxScrollTop(scroller);\n const target = scrollToMax ? nextMaxScrollTop : (0,_internals_clamp_js__WEBPACK_IMPORTED_MODULE_14__.clamp)(nextScrollTop, 0, nextMaxScrollTop);\n // Avoid adjustments that re-trigger scroll events forever.\n if (Math.abs(scroller.scrollTop - target) > _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_15__.SCROLL_EDGE_TOLERANCE_PX) {\n scroller.scrollTop = target;\n }\n }\n if (setReachedMax || nextPositionerHeight >= maxAvailableHeight - _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_15__.SCROLL_EDGE_TOLERANCE_PX) {\n reachedMaxHeightRef.current = true;\n }\n handleScrollArrowVisibility();\n }\n }[\"SelectPopup.SelectPopup.useStableCallback[handleScroll]\"]);\n react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(scrollHandlerRef, {\n \"SelectPopup.SelectPopup.useImperativeHandle\": ()=>handleScroll\n }[\"SelectPopup.SelectPopup.useImperativeHandle\"], [\n handleScroll\n ]);\n (0,_internals_useOpenChangeComplete_js__WEBPACK_IMPORTED_MODULE_16__.useOpenChangeComplete)({\n open,\n ref: popupRef,\n onComplete () {\n if (open) {\n onOpenChangeComplete?.(true);\n }\n }\n });\n const state = {\n open,\n transitionStatus,\n side,\n align\n };\n (0,_base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_17__.useIsoLayoutEffect)({\n \"SelectPopup.SelectPopup.useIsoLayoutEffect\": ()=>{\n if (!positionerElement || !popupRef.current || Object.keys(originalPositionerStylesRef.current).length) {\n return;\n }\n originalPositionerStylesRef.current = {\n top: positionerElement.style.top || '0',\n left: positionerElement.style.left || '0',\n right: positionerElement.style.right,\n height: positionerElement.style.height,\n bottom: positionerElement.style.bottom,\n minHeight: positionerElement.style.minHeight,\n maxHeight: positionerElement.style.maxHeight,\n marginTop: positionerElement.style.marginTop,\n marginBottom: positionerElement.style.marginBottom\n };\n }\n }[\"SelectPopup.SelectPopup.useIsoLayoutEffect\"], [\n popupRef,\n positionerElement\n ]);\n (0,_base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_17__.useIsoLayoutEffect)({\n \"SelectPopup.SelectPopup.useIsoLayoutEffect\": ()=>{\n if (open || alignItemWithTriggerActive) {\n return;\n }\n initialPlacedRef.current = false;\n reachedMaxHeightRef.current = false;\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_18__.clearStyles)(positionerElement, originalPositionerStylesRef.current);\n }\n }[\"SelectPopup.SelectPopup.useIsoLayoutEffect\"], [\n open,\n alignItemWithTriggerActive,\n positionerElement,\n popupRef\n ]);\n (0,_base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_17__.useIsoLayoutEffect)({\n \"SelectPopup.SelectPopup.useIsoLayoutEffect\": ()=>{\n const popupElement = popupRef.current;\n // Wait for Floating UI's first positioning pass before reading DOM geometry.\n // We replace the final coordinates for aligned selects, but still need middleware\n // like `size()` to set CSS variables such as `--anchor-width`.\n if (!open || !triggerElement || !positionerElement || !popupElement || alignItemWithTriggerActive && !isPositioned || store.state.transitionStatus === 'ending') {\n return;\n }\n if (!alignItemWithTriggerActive) {\n initialPlacedRef.current = true;\n scrollArrowFrame.request(handleScrollArrowVisibility);\n popupElement.style.removeProperty('--transform-origin');\n return;\n }\n // Ensure we remove any transforms that can affect the location of the popup\n // and therefore the calculations.\n const restoreTransformStyles = unsetTransformStyles(popupElement);\n popupElement.style.removeProperty('--transform-origin');\n try {\n const textElement = selectedItemTextRef.current;\n const valueElement = valueRef.current;\n const positionerStyles = getComputedStyle(positionerElement);\n const popupStyles = getComputedStyle(popupElement);\n const doc = (0,_base_ui_utils_owner__WEBPACK_IMPORTED_MODULE_13__.ownerDocument)(triggerElement);\n const win = (0,_base_ui_utils_owner__WEBPACK_IMPORTED_MODULE_19__.getWindow)(positionerElement);\n const scale = getScale(triggerElement);\n const triggerRect = normalizeRect(triggerElement.getBoundingClientRect(), scale);\n const positionerRect = normalizeRect(positionerElement.getBoundingClientRect(), scale);\n const triggerHeight = triggerRect.height;\n const scroller = listElement || popupElement;\n const scrollHeight = scroller.scrollHeight;\n const borderBottom = parseFloat(popupStyles.borderBottomWidth);\n const marginTop = parseFloat(positionerStyles.marginTop) || 10;\n const marginBottom = parseFloat(positionerStyles.marginBottom) || 10;\n const minHeight = parseFloat(positionerStyles.minHeight) || 100;\n const maxPopupHeight = getMaxPopupHeight(popupStyles);\n const paddingLeft = 5;\n const paddingRight = 5;\n const triggerCollisionThreshold = 20;\n const viewportHeight = doc.documentElement.clientHeight - marginTop - marginBottom;\n const viewportWidth = doc.documentElement.clientWidth;\n const availableSpaceBeneathTrigger = viewportHeight - triggerRect.bottom + triggerHeight;\n let textRect;\n let alignedLeft = direction === 'rtl' ? triggerRect.right - positionerRect.width : triggerRect.left;\n let offsetY = 0;\n if (textElement && valueElement) {\n const valueRect = normalizeRect(valueElement.getBoundingClientRect(), scale);\n textRect = normalizeRect(textElement.getBoundingClientRect(), scale);\n alignedLeft = positionerRect.left + (direction === 'rtl' ? valueRect.right - textRect.right : valueRect.left - textRect.left);\n const valueCenterFromTriggerTop = valueRect.top - triggerRect.top + valueRect.height / 2;\n const textCenterFromPositionerTop = textRect.top - positionerRect.top + textRect.height / 2;\n offsetY = textCenterFromPositionerTop - valueCenterFromTriggerTop;\n }\n const idealHeight = availableSpaceBeneathTrigger + offsetY + marginBottom + borderBottom;\n let height = Math.min(viewportHeight, idealHeight);\n const maxHeight = viewportHeight - marginTop - marginBottom;\n const scrollTop = idealHeight - height;\n const maxRight = viewportWidth - paddingRight;\n positionerElement.style.left = `${(0,_internals_clamp_js__WEBPACK_IMPORTED_MODULE_14__.clamp)(alignedLeft, paddingLeft, maxRight - positionerRect.width)}px`;\n positionerElement.style.height = `${height}px`;\n positionerElement.style.maxHeight = 'auto';\n positionerElement.style.marginTop = `${marginTop}px`;\n positionerElement.style.marginBottom = `${marginBottom}px`;\n popupElement.style.height = '100%';\n const maxScrollTop = getMaxScrollTop(scroller);\n const isTopPositioned = scrollTop >= maxScrollTop - _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_15__.SCROLL_EDGE_TOLERANCE_PX;\n if (isTopPositioned) {\n height = Math.min(viewportHeight, positionerRect.height) - (scrollTop - maxScrollTop);\n }\n // When the trigger is too close to the top or bottom of the viewport, or the minHeight is\n // reached, we fallback to aligning the popup to the trigger as the UX is poor otherwise.\n const fallbackToAlignPopupToTrigger = triggerRect.top < triggerCollisionThreshold || triggerRect.bottom > viewportHeight - triggerCollisionThreshold || Math.ceil(height) + _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_15__.SCROLL_EDGE_TOLERANCE_PX < Math.min(scrollHeight, minHeight);\n // Safari doesn't position the popup correctly when pinch-zoomed.\n const isPinchZoomed = (win.visualViewport?.scale ?? 1) !== 1 && _base_ui_utils_detectBrowser__WEBPACK_IMPORTED_MODULE_20__.isWebKit;\n if (fallbackToAlignPopupToTrigger || isPinchZoomed) {\n initialPlacedRef.current = true;\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_18__.clearStyles)(positionerElement, originalPositionerStylesRef.current);\n setControlledAlignItemWithTrigger(false);\n return;\n }\n const initialHeight = Math.max(minHeight, height);\n if (isTopPositioned) {\n const topOffset = Math.max(0, viewportHeight - idealHeight);\n positionerElement.style.top = positionerRect.height >= maxHeight ? '0' : `${topOffset}px`;\n positionerElement.style.height = `${height}px`;\n scroller.scrollTop = getMaxScrollTop(scroller);\n } else {\n positionerElement.style.bottom = '0';\n scroller.scrollTop = scrollTop;\n }\n if (textRect) {\n const popupTop = positionerRect.top;\n const popupHeight = positionerRect.height;\n const textCenterY = textRect.top + textRect.height / 2;\n const transformOriginY = popupHeight > 0 ? (textCenterY - popupTop) / popupHeight * 100 : 50;\n const clampedY = (0,_internals_clamp_js__WEBPACK_IMPORTED_MODULE_14__.clamp)(transformOriginY, 0, 100);\n popupElement.style.setProperty('--transform-origin', `50% ${clampedY}%`);\n }\n if (initialHeight === viewportHeight || height >= maxPopupHeight) {\n reachedMaxHeightRef.current = true;\n }\n handleScrollArrowVisibility();\n if (highlightItemOnHover && store.state.selectedIndex === null && store.state.activeIndex === null && listRef.current[0] != null) {\n store.set('activeIndex', 0);\n }\n initialPlacedRef.current = true;\n } finally{\n restoreTransformStyles();\n }\n }\n }[\"SelectPopup.SelectPopup.useIsoLayoutEffect\"], [\n store,\n open,\n positionerElement,\n triggerElement,\n valueRef,\n selectedItemTextRef,\n popupRef,\n handleScrollArrowVisibility,\n alignItemWithTriggerActive,\n setControlledAlignItemWithTrigger,\n scrollArrowFrame,\n scrollDownArrowRef,\n scrollUpArrowRef,\n listElement,\n listRef,\n highlightItemOnHover,\n direction,\n isPositioned\n ]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectPopup.SelectPopup.useEffect\": ()=>{\n if (!alignItemWithTriggerActive || !positionerElement || !open) {\n return undefined;\n }\n const win = (0,_base_ui_utils_owner__WEBPACK_IMPORTED_MODULE_19__.getWindow)(positionerElement);\n function handleResize(event) {\n setOpen(false, (0,_internals_createBaseUIEventDetails_js__WEBPACK_IMPORTED_MODULE_21__.createChangeEventDetails)(_internals_reasons_js__WEBPACK_IMPORTED_MODULE_22__.windowResize, event));\n }\n return (0,_base_ui_utils_addEventListener__WEBPACK_IMPORTED_MODULE_23__.addEventListener)(win, 'resize', handleResize);\n }\n }[\"SelectPopup.SelectPopup.useEffect\"], [\n setOpen,\n alignItemWithTriggerActive,\n positionerElement,\n open\n ]);\n const defaultProps = {\n ...listElement ? {\n role: 'presentation',\n 'aria-orientation': undefined\n } : {\n role: 'listbox',\n 'aria-multiselectable': multiple || undefined,\n id: `${id}-list`\n },\n onKeyDown (event) {\n keyboardActiveRef.current = true;\n if (insideToolbar && _internals_composite_composite_js__WEBPACK_IMPORTED_MODULE_24__.COMPOSITE_KEYS.has(event.key)) {\n event.stopPropagation();\n }\n },\n onMouseMove () {\n keyboardActiveRef.current = false;\n },\n onScroll (event) {\n if (listElement) {\n return;\n }\n handleScroll(event.currentTarget);\n },\n ...alignItemWithTriggerActive && {\n style: listElement ? {\n height: '100%'\n } : _utils_js__WEBPACK_IMPORTED_MODULE_18__.LIST_FUNCTIONAL_STYLES\n }\n };\n const element = (0,_internals_useRenderElement_js__WEBPACK_IMPORTED_MODULE_25__.useRenderElement)('div', componentProps, {\n ref: [\n forwardedRef,\n popupRef\n ],\n state,\n stateAttributesMapping,\n props: [\n popupProps,\n defaultProps,\n (0,_utils_getDisabledMountTransitionStyles_js__WEBPACK_IMPORTED_MODULE_26__.getDisabledMountTransitionStyles)(transitionStatus),\n {\n className: !listElement && alignItemWithTriggerActive ? _utils_styles_js__WEBPACK_IMPORTED_MODULE_27__.styleDisableScrollbar.className : undefined\n },\n elementProps\n ]\n });\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n !disableStyleElements && _utils_styles_js__WEBPACK_IMPORTED_MODULE_27__.styleDisableScrollbar.getElement(nonce),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_28__.FloatingFocusManager, {\n context: floatingRootContext,\n modal: false,\n disabled: !mounted,\n returnFocus: finalFocus,\n restoreFocus: true,\n children: element\n })\n ]\n });\n});\nif (true) SelectPopup.displayName = \"SelectPopup\";\nfunction getMaxPopupHeight(popupStyles) {\n const maxHeightStyle = popupStyles.maxHeight || '';\n return maxHeightStyle.endsWith('px') ? parseFloat(maxHeightStyle) || Infinity : Infinity;\n}\nfunction getMaxScrollTop(scroller) {\n return (0,_utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_15__.getMaxScrollOffset)(scroller.scrollHeight, scroller.clientHeight);\n}\nfunction getScale(element) {\n // The platform API is async-capable, but the DOM platform returns a plain scale object.\n return _floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_29__.platform.getScale(element);\n}\nfunction normalizeSize(size, axis, scale) {\n return size / scale[axis];\n}\nfunction normalizeRect(rect, scale) {\n return (0,_floating_ui_utils__WEBPACK_IMPORTED_MODULE_30__.rectToClientRect)({\n x: normalizeSize(rect.x, 'x', scale),\n y: normalizeSize(rect.y, 'y', scale),\n width: normalizeSize(rect.width, 'x', scale),\n height: normalizeSize(rect.height, 'y', scale)\n });\n}\nconst TRANSFORM_STYLE_RESETS = [\n [\n 'transform',\n 'none'\n ],\n [\n 'scale',\n '1'\n ],\n [\n 'translate',\n '0 0'\n ]\n];\nfunction unsetTransformStyles(popupElement) {\n const { style } = popupElement;\n const originalStyles = {};\n for (const [property, value] of TRANSFORM_STYLE_RESETS){\n originalStyles[property] = style.getPropertyValue(property);\n style.setProperty(property, value, 'important');\n }\n return ()=>{\n for (const [property] of TRANSFORM_STYLE_RESETS){\n const originalValue = originalStyles[property];\n if (originalValue) {\n style.setProperty(property, originalValue);\n } else {\n style.removeProperty(property);\n }\n }\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9wb3B1cC9TZWxlY3RQb3B1cC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpRUFFK0I7QUFDdUI7QUFDYTtBQUNYO0FBQ2E7QUFDSDtBQUNLO0FBQ3ZCO0FBQ3FCO0FBQ2lDO0FBQ1I7QUFDekI7QUFDaUI7QUFDeEI7QUFDc0I7QUFDSDtBQUNWO0FBQy9CO0FBQ3lCO0FBQ3NCO0FBQ2xDO0FBQzRCO0FBQ1Q7QUFDMkI7QUFDbEQ7QUFDeUM7QUFDekI7QUFDb0I7QUFDdEI7QUFDL0QsTUFBTXNDLHlCQUF5QjtJQUM3QixHQUFHdkIsMEVBQWlCO0lBQ3BCLEdBQUdHLHlGQUF1QjtBQUM1QjtBQUVBOzs7OztDQUtDLEdBQ00sTUFBTXFCLGNBQWMsV0FBVyxHQUFFdkMsNkNBQWdCLENBQUMsU0FBU3VDLFlBQVlFLGNBQWMsRUFBRUMsWUFBWTtJQUN4RyxNQUFNLEVBQ0pDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxLQUFLLEVBQ0xDLFVBQVUsRUFDVixHQUFHQyxjQUNKLEdBQUdOO0lBQ0osTUFBTSxFQUNKTyxLQUFLLEVBQ0xDLFFBQVEsRUFDUkMsb0JBQW9CLEVBQ3BCQyxPQUFPLEVBQ1BDLFFBQVEsRUFDUkMsbUJBQW1CLEVBQ25CQyxpQkFBaUIsRUFDakJDLFFBQVEsRUFDUkMsMkJBQTJCLEVBQzNCQyxnQkFBZ0IsRUFDaEJDLE9BQU8sRUFDUEMsb0JBQW9CLEVBQ3JCLEdBQUc3QyxnRkFBb0JBO0lBQ3hCLE1BQU0sRUFDSjhDLElBQUksRUFDSkMsS0FBSyxFQUNMQywwQkFBMEIsRUFDMUJDLFlBQVksRUFDWkMsaUNBQWlDLEVBQ2pDQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNqQixHQUFHbEQsa0dBQTBCQTtJQUM5QixNQUFNbUQsZ0JBQWdCekMsMEZBQXFCQSxDQUFDLFNBQVM7SUFDckQsTUFBTTBDLHNCQUFzQnZELG9GQUF3QkE7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QUN4QyxNQUFNLEVBQ0ovRixLQUFLLEVBQ04sR0FBRytGO0lBQ0osTUFBTWtGLGlCQUFpQixDQUFDO0lBQ3hCLEtBQUssTUFBTSxDQUFDQyxVQUFVQyxNQUFNLElBQUlILHVCQUF3QjtRQUN0REMsY0FBYyxDQUFDQyxTQUFTLEdBQUdsTCxNQUFNb0wsZ0JBQWdCLENBQUNGO1FBQ2xEbEwsTUFBTTBJLFdBQVcsQ0FBQ3dDLFVBQVVDLE9BQU87SUFDckM7SUFDQSxPQUFPO1FBQ0wsS0FBSyxNQUFNLENBQUNELFNBQVMsSUFBSUYsdUJBQXdCO1lBQy9DLE1BQU1LLGdCQUFnQkosY0FBYyxDQUFDQyxTQUFTO1lBQzlDLElBQUlHLGVBQWU7Z0JBQ2pCckwsTUFBTTBJLFdBQVcsQ0FBQ3dDLFVBQVVHO1lBQzlCLE9BQU87Z0JBQ0xyTCxNQUFNaUcsY0FBYyxDQUFDaUY7WUFDdkI7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIi9ob21lL3NpbHZpby9EZXZlbG9wL0NJUlVYLUFQUC9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9wb3B1cC9TZWxlY3RQb3B1cC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlY3RUb0NsaWVudFJlY3QgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMnO1xuaW1wb3J0IHsgYWRkRXZlbnRMaXN0ZW5lciB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL2FkZEV2ZW50TGlzdGVuZXInO1xuaW1wb3J0IHsgaXNXZWJLaXQgfSBmcm9tICdAYmFzZS11aS91dGlscy9kZXRlY3RCcm93c2VyJztcbmltcG9ydCB7IHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSAnQGJhc2UtdWkvdXRpbHMvdXNlU3RhYmxlQ2FsbGJhY2snO1xuaW1wb3J0IHsgb3duZXJEb2N1bWVudCwgb3duZXJXaW5kb3cgfSBmcm9tICdAYmFzZS11aS91dGlscy9vd25lcic7XG5pbXBvcnQgeyB1c2VJc29MYXlvdXRFZmZlY3QgfSBmcm9tICdAYmFzZS11aS91dGlscy91c2VJc29MYXlvdXRFZmZlY3QnO1xuaW1wb3J0IHsgdXNlU3RvcmUgfSBmcm9tICdAYmFzZS11aS91dGlscy9zdG9yZSc7XG5pbXBvcnQgeyB1c2VBbmltYXRpb25GcmFtZSB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL3VzZUFuaW1hdGlvbkZyYW1lJztcbmltcG9ydCB7IEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCBwbGF0Zm9ybSBhcyBmbG9hdGluZ1BsYXRmb3JtIH0gZnJvbSBcIi4uLy4uL2Zsb2F0aW5nLXVpLXJlYWN0L2luZGV4LmpzXCI7XG5pbXBvcnQgeyB1c2VTZWxlY3RGbG9hdGluZ0NvbnRleHQsIHVzZVNlbGVjdFJvb3RDb250ZXh0IH0gZnJvbSBcIi4uL3Jvb3QvU2VsZWN0Um9vdENvbnRleHQuanNcIjtcbmltcG9ydCB7IHBvcHVwU3RhdGVNYXBwaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3BvcHVwU3RhdGVNYXBwaW5nLmpzXCI7XG5pbXBvcnQgeyB1c2VTZWxlY3RQb3NpdGlvbmVyQ29udGV4dCB9IGZyb20gXCIuLi9wb3NpdGlvbmVyL1NlbGVjdFBvc2l0aW9uZXJDb250ZXh0LmpzXCI7XG5pbXBvcnQgeyBzdHlsZURpc2FibGVTY3JvbGxiYXIgfSBmcm9tIFwiLi4vLi4vdXRpbHMvc3R5bGVzLmpzXCI7XG5pbXBvcnQgeyB0cmFuc2l0aW9uU3RhdHVzTWFwcGluZyB9IGZyb20gXCIuLi8uLi9pbnRlcm5hbHMvc3RhdGVBdHRyaWJ1dGVzTWFwcGluZy5qc1wiO1xuaW1wb3J0IHsgdXNlT3BlbkNoYW5nZUNvbXBsZXRlIH0gZnJvbSBcIi4uLy4uL2ludGVybmFscy91c2VPcGVuQ2hhbmdlQ29tcGxldGUuanNcIjtcbmltcG9ydCB7IHVzZVJlbmRlckVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vaW50ZXJuYWxzL3VzZVJlbmRlckVsZW1lbnQuanNcIjtcbmltcG9ydCB7IHNlbGVjdG9ycyB9IGZyb20gXCIuLi9zdG9yZS5qc1wiO1xuaW1wb3J0IHsgY2xlYXJTdHlsZXMsIExJU1RfRlVOQ1RJT05BTF9TVFlMRVMgfSBmcm9tIFwiLi91dGlscy5qc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ2hhbmdlRXZlbnREZXRhaWxzIH0gZnJvbSBcIi4uLy4uL2ludGVybmFscy9jcmVhdGVCYXNlVUlFdmVudERldGFpbHMuanNcIjtcbmltcG9ydCB7IFJFQVNPTlMgfSBmcm9tIFwiLi4vLi4vaW50ZXJuYWxzL3JlYXNvbnMuanNcIjtcbmltcG9ydCB7IHVzZVRvb2xiYXJSb290Q29udGV4dCB9IGZyb20gXCIuLi8uLi90b29sYmFyL3Jvb3QvVG9vbGJhclJvb3RDb250ZXh0LmpzXCI7XG5pbXBvcnQgeyBDT01QT1NJVEVfS0VZUyB9IGZyb20gXCIuLi8uLi9pbnRlcm5hbHMvY29tcG9zaXRlL2NvbXBvc2l0ZS5qc1wiO1xuaW1wb3J0IHsgZ2V0RGlzYWJsZWRNb3VudFRyYW5zaXRpb25TdHlsZXMgfSBmcm9tIFwiLi4vLi4vdXRpbHMvZ2V0RGlzYWJsZWRNb3VudFRyYW5zaXRpb25TdHlsZXMuanNcIjtcbmltcG9ydCB7IGNsYW1wIH0gZnJvbSBcIi4uLy4uL2ludGVybmFscy9jbGFtcC5qc1wiO1xuaW1wb3J0IHsgZ2V0TWF4U2Nyb2xsT2Zmc2V0LCBTQ1JPTExfRURHRV9UT0xFUkFOQ0VfUFggfSBmcm9tIFwiLi4vLi4vdXRpbHMvc2Nyb2xsRWRnZXMuanNcIjtcbmltcG9ydCB7IHVzZUNTUENvbnRleHQgfSBmcm9tIFwiLi4vLi4vY3NwLXByb3ZpZGVyL0NTUENvbnRleHQuanNcIjtcbmltcG9ydCB7IHVzZURpcmVjdGlvbiB9IGZyb20gXCIuLi8uLi9pbnRlcm5hbHMvZGlyZWN0aW9uLWNvbnRleHQvRGlyZWN0aW9uQ29udGV4dC5qc1wiO1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmNvbnN0IHN0YXRlQXR0cmlidXRlc01hcHBpbmcgPSB7XG4gIC4uLnBvcHVwU3RhdGVNYXBwaW5nLFxuICAuLi50cmFuc2l0aW9uU3RhdHVzTWFwcGluZ1xufTtcblxuLyoqXG4gKiBBIGNvbnRhaW5lciBmb3IgdGhlIHNlbGVjdCBsaXN0LlxuICogUmVuZGVycyBhIGA8ZGl2PmAgZWxlbWVudC5cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBbQmFzZSBVSSBTZWxlY3RdKGh0dHBzOi8vYmFzZS11aS5jb20vcmVhY3QvY29tcG9uZW50cy9zZWxlY3QpXG4gKi9cbmV4cG9ydCBjb25zdCBTZWxlY3RQb3B1cCA9IC8qI19fUFVSRV9fKi9SZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIFNlbGVjdFBvcHVwKGNvbXBvbmVudFByb3BzLCBmb3J3YXJkZWRSZWYpIHtcbiAgY29uc3Qge1xuICAgIHJlbmRlcixcbiAgICBjbGFzc05hbWUsXG4gICAgc3R5bGUsXG4gICAgZmluYWxGb2N1cyxcbiAgICAuLi5lbGVtZW50UHJvcHNcbiAgfSA9IGNvbXBvbmVudFByb3BzO1xuICBjb25zdCB7XG4gICAgc3RvcmUsXG4gICAgcG9wdXBSZWYsXG4gICAgb25PcGVuQ2hhbmdlQ29tcGxldGUsXG4gICAgc2V0T3BlbixcbiAgICB2YWx1ZVJlZixcbiAgICBzZWxlY3RlZEl0ZW1UZXh0UmVmLFxuICAgIGtleWJvYXJkQWN0aXZlUmVmLFxuICAgIG11bHRpcGxlLFxuICAgIGhhbmRsZVNjcm9sbEFycm93VmlzaWJpbGl0eSxcbiAgICBzY3JvbGxIYW5kbGVyUmVmLFxuICAgIGxpc3RSZWYsXG4gICAgaGlnaGxpZ2h0SXRlbU9uSG92ZXJcbiAgfSA9IHVzZVNlbGVjdFJvb3RDb250ZXh0KCk7XG4gIGNvbnN0IHtcbiAgICBzaWRlLFxuICAgIGFsaWduLFxuICAgIGFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlLFxuICAgIGlzUG9zaXRpb25lZCxcbiAgICBzZXRDb250cm9sbGVkQWxpZ25JdGVtV2l0aFRyaWdnZXIsXG4gICAgc2Nyb2xsRG93bkFycm93UmVmLFxuICAgIHNjcm9sbFVwQXJyb3dSZWZcbiAgfSA9IHVzZVNlbGVjdFBvc2l0aW9uZXJDb250ZXh0KCk7XG4gIGNvbnN0IGluc2lkZVRvb2xiYXIgPSB1c2VUb29sYmFyUm9vdENvbnRleHQodHJ1ZSkgIT0gbnVsbDtcbiAgY29uc3QgZmxvYXRpbmdSb290Q29udGV4dCA9IHVzZVNlbGVjdEZsb2F0aW5nQ29udGV4dCgpO1xuICBjb25zdCBkaXJlY3Rpb24gPSB1c2VEaXJlY3Rpb24oKTtcbiAgY29uc3Qge1xuICAgIG5vbmNlLFxuICAgIGRpc2FibGVTdHlsZUVsZW1lbnRzXG4gIH0gPSB1c2VDU1BDb250ZXh0KCk7XG4gIGNvbnN0IGlkID0gdXNlU3RvcmUoc3RvcmUsIHNlbGVjdG9ycy5pZCk7XG4gIGNvbnN0IG9wZW4gPSB1c2VTdG9yZShzdG9yZSwgc2VsZWN0b3JzLm9wZW4pO1xuICBjb25zdCBtb3VudGVkID0gdXNlU3RvcmUoc3RvcmUsIHNlbGVjdG9ycy5tb3VudGVkKTtcbiAgY29uc3QgcG9wdXBQcm9wcyA9IHVzZVN0b3JlKHN0b3JlLCBzZWxlY3RvcnMucG9wdXBQcm9wcyk7XG4gIGNvbnN0IHRyYW5zaXRpb25TdGF0dXMgPSB1c2VTdG9yZShzdG9yZSwgc2VsZWN0b3JzLnRyYW5zaXRpb25TdGF0dXMpO1xuICBjb25zdCB0cmlnZ2VyRWxlbWVudCA9IHVzZVN0b3JlKHN0b3JlLCBzZWxlY3RvcnMudHJpZ2dlckVsZW1lbnQpO1xuICBjb25zdCBwb3NpdGlvbmVyRWxlbWVudCA9IHVzZVN0b3JlKHN0b3JlLCBzZWxlY3RvcnMucG9zaXRpb25lckVsZW1lbnQpO1xuICBjb25zdCBsaXN0RWxlbWVudCA9IHVzZVN0b3JlKHN0b3JlLCBzZWxlY3RvcnMubGlzdEVsZW1lbnQpO1xuICBjb25zdCByZWFjaGVkTWF4SGVpZ2h0UmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgaW5pdGlhbFBsYWNlZFJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IG9yaWdpbmFsUG9zaXRpb25lclN0eWxlc1JlZiA9IFJlYWN0LnVzZVJlZih7fSk7XG4gIGNvbnN0IHNjcm9sbEFycm93RnJhbWUgPSB1c2VBbmltYXRpb25GcmFtZSgpO1xuICBjb25zdCBoYW5kbGVTY3JvbGwgPSB1c2VTdGFibGVDYWxsYmFjayhzY3JvbGxlciA9PiB7XG4gICAgaWYgKCFwb3NpdGlvbmVyRWxlbWVudCB8fCAhcG9wdXBSZWYuY3VycmVudCB8fCAhaW5pdGlhbFBsYWNlZFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChyZWFjaGVkTWF4SGVpZ2h0UmVmLmN1cnJlbnQgfHwgIWFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlKSB7XG4gICAgICBoYW5kbGVTY3JvbGxBcnJvd1Zpc2liaWxpdHkoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaXNUb3BQb3NpdGlvbmVkID0gcG9zaXRpb25lckVsZW1lbnQuc3R5bGUudG9wID09PSAnMHB4JztcbiAgICBjb25zdCBpc0JvdHRvbVBvc2l0aW9uZWQgPSBwb3NpdGlvbmVyRWxlbWVudC5zdHlsZS5ib3R0b20gPT09ICcwcHgnO1xuICAgIGlmICghaXNUb3BQb3NpdGlvbmVkICYmICFpc0JvdHRvbVBvc2l0aW9uZWQpIHtcbiAgICAgIGhhbmRsZVNjcm9sbEFycm93VmlzaWJpbGl0eSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzY2FsZSA9IGdldFNjYWxlKHBvc2l0aW9uZXJFbGVtZW50KTtcbiAgICBjb25zdCBjdXJyZW50SGVpZ2h0ID0gbm9ybWFsaXplU2l6ZShwb3NpdGlvbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsICd5Jywgc2NhbGUpO1xuICAgIGNvbnN0IGRvYyA9IG93bmVyRG9jdW1lbnQocG9zaXRpb25lckVsZW1lbnQpO1xuICAgIGNvbnN0IHBvc2l0aW9uZXJTdHlsZXMgPSBnZXRDb21wdXRlZFN0eWxlKHBvc2l0aW9uZXJFbGVtZW50KTtcbiAgICBjb25zdCBtYXJnaW5Ub3AgPSBwYXJzZUZsb2F0KHBvc2l0aW9uZXJTdHlsZXMubWFyZ2luVG9wKTtcbiAgICBjb25zdCBtYXJnaW5Cb3R0b20gPSBwYXJzZUZsb2F0KHBvc2l0aW9uZXJTdHlsZXMubWFyZ2luQm90dG9tKTtcbiAgICBjb25zdCBtYXhQb3B1cEhlaWdodCA9IGdldE1heFBvcHVwSGVpZ2h0KGdldENvbXB1dGVkU3R5bGUocG9wdXBSZWYuY3VycmVudCkpO1xuICAgIGNvbnN0IG1heEF2YWlsYWJsZUhlaWdodCA9IE1hdGgubWluKGRvYy5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gbWFyZ2luVG9wIC0gbWFyZ2luQm90dG9tLCBtYXhQb3B1cEhlaWdodCk7XG4gICAgY29uc3Qgc2Nyb2xsVG9wID0gc2Nyb2xsZXIuc2Nyb2xsVG9wO1xuICAgIGNvbnN0IG1heFNjcm9sbFRvcCA9IGdldE1heFNjcm9sbFRvcChzY3JvbGxlcik7XG4gICAgbGV0IG5leHRQb3NpdGlvbmVySGVpZ2h0ID0gMDtcbiAgICBsZXQgbmV4dFNjcm9sbFRvcCA9IG51bGw7XG4gICAgbGV0IHNldFJlYWNoZWRNYXggPSBmYWxzZTtcbiAgICBsZXQgc2Nyb2xsVG9NYXggPSBmYWxzZTtcbiAgICBjb25zdCBzZXRIZWlnaHQgPSBoZWlnaHQgPT4ge1xuICAgICAgcG9zaXRpb25lckVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcbiAgICB9O1xuICAgIGNvbnN0IGhhbmRsZVNtYWxsRGlmZiA9IChkaWZmLCB0YXJnZXRTY3JvbGxUb3ApID0+IHtcbiAgICAgIGNvbnN0IGhlaWdodERlbHRhID0gY2xhbXAoZGlmZiwgMCwgbWF4QXZhaWxhYmxlSGVpZ2h0IC0gY3VycmVudEhlaWdodCk7XG4gICAgICBpZiAoaGVpZ2h0RGVsdGEgPiAwKSB7XG4gICAgICAgIC8vIENvbnN1bWUgdGhlIHJlbWFpbmluZyBzY3JvbGwgaW4gaGVpZ2h0LlxuICAgICAgICBzZXRIZWlnaHQoY3VycmVudEhlaWdodCArIGhlaWdodERlbHRhKTtcbiAgICAgIH1cbiAgICAgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IHRhcmdldFNjcm9sbFRvcDtcbiAgICAgIGlmIChtYXhBdmFpbGFibGVIZWlnaHQgLSAoY3VycmVudEhlaWdodCArIGhlaWdodERlbHRhKSA8PSBTQ1JPTExfRURHRV9UT0xFUkFOQ0VfUFgpIHtcbiAgICAgICAgcmVhY2hlZE1heEhlaWdodFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGhhbmRsZVNjcm9sbEFycm93VmlzaWJpbGl0eSgpO1xuICAgIH07XG4gICAgY29uc3QgZGlmZiA9IGlzVG9wUG9zaXRpb25lZCA/IG1heFNjcm9sbFRvcCAtIHNjcm9sbFRvcCA6IHNjcm9sbFRvcDtcbiAgICBjb25zdCBuZXh0SGVpZ2h0ID0gTWF0aC5taW4oY3VycmVudEhlaWdodCArIGRpZmYsIG1heEF2YWlsYWJsZUhlaWdodCk7XG4gICAgbmV4dFBvc2l0aW9uZXJIZWlnaHQgPSBuZXh0SGVpZ2h0O1xuICAgIGlmIChkaWZmIDw9IFNDUk9MTF9FREdFX1RPTEVSQU5DRV9QWCkge1xuICAgICAgaGFuZGxlU21hbGxEaWZmKGRpZmYsIGlzVG9wUG9zaXRpb25lZCA/IG1heFNjcm9sbFRvcCA6IDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAobWF4QXZhaWxhYmxlSGVpZ2h0IC0gbmV4dEhlaWdodCA+IFNDUk9MTF9FREdFX1RPTEVSQU5DRV9QWCkge1xuICAgICAgaWYgKGlzVG9wUG9zaXRpb25lZCkge1xuICAgICAgICBzY3JvbGxUb01heCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0U2Nyb2xsVG9wID0gMDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0UmVhY2hlZE1heCA9IHRydWU7XG4gICAgICBpZiAoaXNCb3R0b21Qb3NpdGlvbmVkICYmIHNjcm9sbFRvcCA8IG1heFNjcm9sbFRvcCkge1xuICAgICAgICBjb25zdCBvdmVyc2hvb3QgPSBjdXJyZW50SGVpZ2h0ICsgZGlmZiAtIG1heEF2YWlsYWJsZUhlaWdodDtcbiAgICAgICAgbmV4dFNjcm9sbFRvcCA9IHNjcm9sbFRvcCAtIChkaWZmIC0gb3ZlcnNob290KTtcbiAgICAgIH1cbiAgICB9XG4gICAgbmV4dFBvc2l0aW9uZXJIZWlnaHQgPSBNYXRoLmNlaWwobmV4dFBvc2l0aW9uZXJIZWlnaHQpO1xuICAgIGlmIChuZXh0UG9zaXRpb25lckhlaWdodCAhPT0gMCkge1xuICAgICAgc2V0SGVpZ2h0KG5leHRQb3NpdGlvbmVySGVpZ2h0KTtcbiAgICB9XG4gICAgaWYgKHNjcm9sbFRvTWF4IHx8IG5leHRTY3JvbGxUb3AgIT0gbnVsbCkge1xuICAgICAgLy8gUmVjb21wdXRlIGJvdW5kcyBhZnRlciByZXNpemluZyAoY2xpZW50SGVpZ2h0IGxpa2VseSBjaGFuZ2VkKS5cbiAgICAgIGNvbnN0IG5leHRNYXhTY3JvbGxUb3AgPSBnZXRNYXhTY3JvbGxUb3Aoc2Nyb2xsZXIpO1xuICAgICAgY29uc3QgdGFyZ2V0ID0gc2Nyb2xsVG9NYXggPyBuZXh0TWF4U2Nyb2xsVG9wIDogY2xhbXAobmV4dFNjcm9sbFRvcCwgMCwgbmV4dE1heFNjcm9sbFRvcCk7XG5cbiAgICAgIC8vIEF2b2lkIGFkanVzdG1lbnRzIHRoYXQgcmUtdHJpZ2dlciBzY3JvbGwgZXZlbnRzIGZvcmV2ZXIuXG4gICAgICBpZiAoTWF0aC5hYnMoc2Nyb2xsZXIuc2Nyb2xsVG9wIC0gdGFyZ2V0KSA+IFNDUk9MTF9FREdFX1RPTEVSQU5DRV9QWCkge1xuICAgICAgICBzY3JvbGxlci5zY3JvbGxUb3AgPSB0YXJnZXQ7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzZXRSZWFjaGVkTWF4IHx8IG5leHRQb3NpdGlvbmVySGVpZ2h0ID49IG1heEF2YWlsYWJsZUhlaWdodCAtIFNDUk9MTF9FREdFX1RPTEVSQU5DRV9QWCkge1xuICAgICAgcmVhY2hlZE1heEhlaWdodFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICB9XG4gICAgaGFuZGxlU2Nyb2xsQXJyb3dWaXNpYmlsaXR5KCk7XG4gIH0pO1xuICBSZWFjdC51c2VJbXBlcmF0aXZlSGFuZGxlKHNjcm9sbEhhbmRsZXJSZWYsICgpID0+IGhhbmRsZVNjcm9sbCwgW2hhbmRsZVNjcm9sbF0pO1xuICB1c2VPcGVuQ2hhbmdlQ29tcGxldGUoe1xuICAgIG9wZW4sXG4gICAgcmVmOiBwb3B1cFJlZixcbiAgICBvbkNvbXBsZXRlKCkge1xuICAgICAgaWYgKG9wZW4pIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlQ29tcGxldGU/Lih0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBjb25zdCBzdGF0ZSA9IHtcbiAgICBvcGVuLFxuICAgIHRyYW5zaXRpb25TdGF0dXMsXG4gICAgc2lkZSxcbiAgICBhbGlnblxuICB9O1xuICB1c2VJc29MYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcG9zaXRpb25lckVsZW1lbnQgfHwgIXBvcHVwUmVmLmN1cnJlbnQgfHwgT2JqZWN0LmtleXMob3JpZ2luYWxQb3NpdGlvbmVyU3R5bGVzUmVmLmN1cnJlbnQpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBvcmlnaW5hbFBvc2l0aW9uZXJTdHlsZXNSZWYuY3VycmVudCA9IHtcbiAgICAgIHRvcDogcG9zaXRpb25lckVsZW1lbnQuc3R5bGUudG9wIHx8ICcwJyxcbiAgICAgIGxlZnQ6IHBvc2l0aW9uZXJFbGVtZW50LnN0eWxlLmxlZnQgfHwgJzAnLFxuICAgICAgcmlnaHQ6IHBvc2l0aW9uZXJFbGVtZW50LnN0eWxlLnJpZ2h0LFxuICAgICAgaGVpZ2h0OiBwb3NpdGlvbmVyRWxlbWVudC5zdHlsZS5oZWlnaHQsXG4gICAgICBib3R0b206IHBvc2l0aW9uZXJFbGVtZW50LnN0eWxlLmJvdHRvbSxcbiAgICAgIG1pbkhlaWdodDogcG9zaXRpb25lckVsZW1lbnQuc3R5bGUubWluSGVpZ2h0LFxuICAgICAgbWF4SGVpZ2h0OiBwb3NpdGlvbmVyRWxlbWVudC5zdHlsZS5tYXhIZWlnaHQsXG4gICAgICBtYXJnaW5Ub3A6IHBvc2l0aW9uZXJFbGVtZW50LnN0eWxlLm1hcmdpblRvcCxcbiAgICAgIG1hcmdpbkJvdHRvbTogcG9zaXRpb25lckVsZW1lbnQuc3R5bGUubWFyZ2luQm90dG9tXG4gICAgfTtcbiAgfSwgW3BvcHVwUmVmLCBwb3NpdGlvbmVyRWxlbWVudF0pO1xuICB1c2VJc29MYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuIHx8IGFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGluaXRpYWxQbGFjZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIHJlYWNoZWRNYXhIZWlnaHRSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIGNsZWFyU3R5bGVzKHBvc2l0aW9uZXJFbGVtZW50LCBvcmlnaW5hbFBvc2l0aW9uZXJTdHlsZXNSZWYuY3VycmVudCk7XG4gIH0sIFtvcGVuLCBhbGlnbkl0ZW1XaXRoVHJpZ2dlckFjdGl2ZSwgcG9zaXRpb25lckVsZW1lbnQsIHBvcHVwUmVmXSk7XG4gIHVzZUlzb0xheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcG9wdXBFbGVtZW50ID0gcG9wdXBSZWYuY3VycmVudDtcblxuICAgIC8vIFdhaXQgZm9yIEZsb2F0aW5nIFVJJ3MgZmlyc3QgcG9zaXRpb25pbmcgcGFzcyBiZWZvcmUgcmVhZGluZyBET00gZ2VvbWV0cnkuXG4gICAgLy8gV2UgcmVwbGFjZSB0aGUgZmluYWwgY29vcmRpbmF0ZXMgZm9yIGFsaWduZWQgc2VsZWN0cywgYnV0IHN0aWxsIG5lZWQgbWlkZGxld2FyZVxuICAgIC8vIGxpa2UgYHNpemUoKWAgdG8gc2V0IENTUyB2YXJpYWJsZXMgc3VjaCBhcyBgLS1hbmNob3Itd2lkdGhgLlxuICAgIGlmICghb3BlbiB8fCAhdHJpZ2dlckVsZW1lbnQgfHwgIXBvc2l0aW9uZXJFbGVtZW50IHx8ICFwb3B1cEVsZW1lbnQgfHwgYWxpZ25JdGVtV2l0aFRyaWdnZXJBY3RpdmUgJiYgIWlzUG9zaXRpb25lZCB8fCBzdG9yZS5zdGF0ZS50cmFuc2l0aW9uU3RhdHVzID09PSAnZW5kaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlKSB7XG4gICAgICBpbml0aWFsUGxhY2VkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgc2Nyb2xsQXJyb3dGcmFtZS5yZXF1ZXN0KGhhbmRsZVNjcm9sbEFycm93VmlzaWJpbGl0eSk7XG4gICAgICBwb3B1cEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tdHJhbnNmb3JtLW9yaWdpbicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZSB3ZSByZW1vdmUgYW55IHRyYW5zZm9ybXMgdGhhdCBjYW4gYWZmZWN0IHRoZSBsb2NhdGlvbiBvZiB0aGUgcG9wdXBcbiAgICAvLyBhbmQgdGhlcmVmb3JlIHRoZSBjYWxjdWxhdGlvbnMuXG4gICAgY29uc3QgcmVzdG9yZVRyYW5zZm9ybVN0eWxlcyA9IHVuc2V0VHJhbnNmb3JtU3R5bGVzKHBvcHVwRWxlbWVudCk7XG4gICAgcG9wdXBFbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXRyYW5zZm9ybS1vcmlnaW4nKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSBzZWxlY3RlZEl0ZW1UZXh0UmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCB2YWx1ZUVsZW1lbnQgPSB2YWx1ZVJlZi5jdXJyZW50O1xuICAgICAgY29uc3QgcG9zaXRpb25lclN0eWxlcyA9IGdldENvbXB1dGVkU3R5bGUocG9zaXRpb25lckVsZW1lbnQpO1xuICAgICAgY29uc3QgcG9wdXBTdHlsZXMgPSBnZXRDb21wdXRlZFN0eWxlKHBvcHVwRWxlbWVudCk7XG4gICAgICBjb25zdCBkb2MgPSBvd25lckRvY3VtZW50KHRyaWdnZXJFbGVtZW50KTtcbiAgICAgIGNvbnN0IHdpbiA9IG93bmVyV2luZG93KHBvc2l0aW9uZXJFbGVtZW50KTtcbiAgICAgIGNvbnN0IHNjYWxlID0gZ2V0U2NhbGUodHJpZ2dlckVsZW1lbnQpO1xuICAgICAgY29uc3QgdHJpZ2dlclJlY3QgPSBub3JtYWxpemVSZWN0KHRyaWdnZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLCBzY2FsZSk7XG4gICAgICBjb25zdCBwb3NpdGlvbmVyUmVjdCA9IG5vcm1hbGl6ZVJlY3QocG9zaXRpb25lckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksIHNjYWxlKTtcbiAgICAgIGNvbnN0IHRyaWdnZXJIZWlnaHQgPSB0cmlnZ2VyUmVjdC5oZWlnaHQ7XG4gICAgICBjb25zdCBzY3JvbGxlciA9IGxpc3RFbGVtZW50IHx8IHBvcHVwRWxlbWVudDtcbiAgICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IHNjcm9sbGVyLnNjcm9sbEhlaWdodDtcbiAgICAgIGNvbnN0IGJvcmRlckJvdHRvbSA9IHBhcnNlRmxvYXQocG9wdXBTdHlsZXMuYm9yZGVyQm90dG9tV2lkdGgpO1xuICAgICAgY29uc3QgbWFyZ2luVG9wID0gcGFyc2VGbG9hdChwb3NpdGlvbmVyU3R5bGVzLm1hcmdpblRvcCkgfHwgMTA7XG4gICAgICBjb25zdCBtYXJnaW5Cb3R0b20gPSBwYXJzZUZsb2F0KHBvc2l0aW9uZXJTdHlsZXMubWFyZ2luQm90dG9tKSB8fCAxMDtcbiAgICAgIGNvbnN0IG1pbkhlaWdodCA9IHBhcnNlRmxvYXQocG9zaXRpb25lclN0eWxlcy5taW5IZWlnaHQpIHx8IDEwMDtcbiAgICAgIGNvbnN0IG1heFBvcHVwSGVpZ2h0ID0gZ2V0TWF4UG9wdXBIZWlnaHQocG9wdXBTdHlsZXMpO1xuICAgICAgY29uc3QgcGFkZGluZ0xlZnQgPSA1O1xuICAgICAgY29uc3QgcGFkZGluZ1JpZ2h0ID0gNTtcbiAgICAgIGNvbnN0IHRyaWdnZXJDb2xsaXNpb25UaHJlc2hvbGQgPSAyMDtcbiAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gZG9jLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLSBtYXJnaW5Ub3AgLSBtYXJnaW5Cb3R0b207XG4gICAgICBjb25zdCB2aWV3cG9ydFdpZHRoID0gZG9jLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIGNvbnN0IGF2YWlsYWJsZVNwYWNlQmVuZWF0aFRyaWdnZXIgPSB2aWV3cG9ydEhlaWdodCAtIHRyaWdnZXJSZWN0LmJvdHRvbSArIHRyaWdnZXJIZWlnaHQ7XG4gICAgICBsZXQgdGV4dFJlY3Q7XG4gICAgICBsZXQgYWxpZ25lZExlZnQgPSBkaXJlY3Rpb24gPT09ICdydGwnID8gdHJpZ2dlclJlY3QucmlnaHQgLSBwb3NpdGlvbmVyUmVjdC53aWR0aCA6IHRyaWdnZXJSZWN0LmxlZnQ7XG4gICAgICBsZXQgb2Zmc2V0WSA9IDA7XG4gICAgICBpZiAodGV4dEVsZW1lbnQgJiYgdmFsdWVFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHZhbHVlUmVjdCA9IG5vcm1hbGl6ZVJlY3QodmFsdWVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLCBzY2FsZSk7XG4gICAgICAgIHRleHRSZWN0ID0gbm9ybWFsaXplUmVjdCh0ZXh0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwgc2NhbGUpO1xuICAgICAgICBhbGlnbmVkTGVmdCA9IHBvc2l0aW9uZXJSZWN0LmxlZnQgKyAoZGlyZWN0aW9uID09PSAncnRsJyA/IHZhbHVlUmVjdC5yaWdodCAtIHRleHRSZWN0LnJpZ2h0IDogdmFsdWVSZWN0LmxlZnQgLSB0ZXh0UmVjdC5sZWZ0KTtcbiAgICAgICAgY29uc3QgdmFsdWVDZW50ZXJGcm9tVHJpZ2dlclRvcCA9IHZhbHVlUmVjdC50b3AgLSB0cmlnZ2VyUmVjdC50b3AgKyB2YWx1ZVJlY3QuaGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgdGV4dENlbnRlckZyb21Qb3NpdGlvbmVyVG9wID0gdGV4dFJlY3QudG9wIC0gcG9zaXRpb25lclJlY3QudG9wICsgdGV4dFJlY3QuaGVpZ2h0IC8gMjtcbiAgICAgICAgb2Zmc2V0WSA9IHRleHRDZW50ZXJGcm9tUG9zaXRpb25lclRvcCAtIHZhbHVlQ2VudGVyRnJvbVRyaWdnZXJUb3A7XG4gICAgICB9XG4gICAgICBjb25zdCBpZGVhbEhlaWdodCA9IGF2YWlsYWJsZVNwYWNlQmVuZWF0aFRyaWdnZXIgKyBvZmZzZXRZICsgbWFyZ2luQm90dG9tICsgYm9yZGVyQm90dG9tO1xuICAgICAgbGV0IGhlaWdodCA9IE1hdGgubWluKHZpZXdwb3J0SGVpZ2h0LCBpZGVhbEhlaWdodCk7XG4gICAgICBjb25zdCBtYXhIZWlnaHQgPSB2aWV3cG9ydEhlaWdodCAtIG1hcmdpblRvcCAtIG1hcmdpbkJvdHRvbTtcbiAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IGlkZWFsSGVpZ2h0IC0gaGVpZ2h0O1xuICAgICAgY29uc3QgbWF4UmlnaHQgPSB2aWV3cG9ydFdpZHRoIC0gcGFkZGluZ1JpZ2h0O1xuICAgICAgcG9zaXRpb25lckVsZW1lbnQuc3R5bGUubGVmdCA9IGAke2NsYW1wKGFsaWduZWRMZWZ0LCBwYWRkaW5nTGVmdCwgbWF4UmlnaHQgLSBwb3NpdGlvbmVyUmVjdC53aWR0aCl9cHhgO1xuICAgICAgcG9zaXRpb25lckVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcbiAgICAgIHBvc2l0aW9uZXJFbGVtZW50LnN0eWxlLm1heEhlaWdodCA9ICdhdXRvJztcbiAgICAgIHBvc2l0aW9uZXJFbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IGAke21hcmdpblRvcH1weGA7XG4gICAgICBwb3NpdGlvbmVyRWxlbWVudC5zdHlsZS5tYXJnaW5Cb3R0b20gPSBgJHttYXJnaW5Cb3R0b219cHhgO1xuICAgICAgcG9wdXBFbGVtZW50LnN0eWxlLmhlaWdodCA9ICcxMDAlJztcbiAgICAgIGNvbnN0IG1heFNjcm9sbFRvcCA9IGdldE1heFNjcm9sbFRvcChzY3JvbGxlcik7XG4gICAgICBjb25zdCBpc1RvcFBvc2l0aW9uZWQgPSBzY3JvbGxUb3AgPj0gbWF4U2Nyb2xsVG9wIC0gU0NST0xMX0VER0VfVE9MRVJBTkNFX1BYO1xuICAgICAgaWYgKGlzVG9wUG9zaXRpb25lZCkge1xuICAgICAgICBoZWlnaHQgPSBNYXRoLm1pbih2aWV3cG9ydEhlaWdodCwgcG9zaXRpb25lclJlY3QuaGVpZ2h0KSAtIChzY3JvbGxUb3AgLSBtYXhTY3JvbGxUb3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBXaGVuIHRoZSB0cmlnZ2VyIGlzIHRvbyBjbG9zZSB0byB0aGUgdG9wIG9yIGJvdHRvbSBvZiB0aGUgdmlld3BvcnQsIG9yIHRoZSBtaW5IZWlnaHQgaXNcbiAgICAgIC8vIHJlYWNoZWQsIHdlIGZhbGxiYWNrIHRvIGFsaWduaW5nIHRoZSBwb3B1cCB0byB0aGUgdHJpZ2dlciBhcyB0aGUgVVggaXMgcG9vciBvdGhlcndpc2UuXG4gICAgICBjb25zdCBmYWxsYmFja1RvQWxpZ25Qb3B1cFRvVHJpZ2dlciA9IHRyaWdnZXJSZWN0LnRvcCA8IHRyaWdnZXJDb2xsaXNpb25UaHJlc2hvbGQgfHwgdHJpZ2dlclJlY3QuYm90dG9tID4gdmlld3BvcnRIZWlnaHQgLSB0cmlnZ2VyQ29sbGlzaW9uVGhyZXNob2xkIHx8IE1hdGguY2VpbChoZWlnaHQpICsgU0NST0xMX0VER0VfVE9MRVJBTkNFX1BYIDwgTWF0aC5taW4oc2Nyb2xsSGVpZ2h0LCBtaW5IZWlnaHQpO1xuXG4gICAgICAvLyBTYWZhcmkgZG9lc24ndCBwb3NpdGlvbiB0aGUgcG9wdXAgY29ycmVjdGx5IHdoZW4gcGluY2gtem9vbWVkLlxuICAgICAgY29uc3QgaXNQaW5jaFpvb21lZCA9ICh3aW4udmlzdWFsVmlld3BvcnQ/LnNjYWxlID8/IDEpICE9PSAxICYmIGlzV2ViS2l0O1xuICAgICAgaWYgKGZhbGxiYWNrVG9BbGlnblBvcHVwVG9UcmlnZ2VyIHx8IGlzUGluY2hab29tZWQpIHtcbiAgICAgICAgaW5pdGlhbFBsYWNlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgY2xlYXJTdHlsZXMocG9zaXRpb25lckVsZW1lbnQsIG9yaWdpbmFsUG9zaXRpb25lclN0eWxlc1JlZi5jdXJyZW50KTtcbiAgICAgICAgc2V0Q29udHJvbGxlZEFsaWduSXRlbVdpdGhUcmlnZ2VyKGZhbHNlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgaW5pdGlhbEhlaWdodCA9IE1hdGgubWF4KG1pbkhlaWdodCwgaGVpZ2h0KTtcbiAgICAgIGlmIChpc1RvcFBvc2l0aW9uZWQpIHtcbiAgICAgICAgY29uc3QgdG9wT2Zmc2V0ID0gTWF0aC5tYXgoMCwgdmlld3BvcnRIZWlnaHQgLSBpZGVhbEhlaWdodCk7XG4gICAgICAgIHBvc2l0aW9uZXJFbGVtZW50LnN0eWxlLnRvcCA9IHBvc2l0aW9uZXJSZWN0LmhlaWdodCA+PSBtYXhIZWlnaHQgPyAnMCcgOiBgJHt0b3BPZmZzZXR9cHhgO1xuICAgICAgICBwb3NpdGlvbmVyRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHtoZWlnaHR9cHhgO1xuICAgICAgICBzY3JvbGxlci5zY3JvbGxUb3AgPSBnZXRNYXhTY3JvbGxUb3Aoc2Nyb2xsZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9zaXRpb25lckVsZW1lbnQuc3R5bGUuYm90dG9tID0gJzAnO1xuICAgICAgICBzY3JvbGxlci5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XG4gICAgICB9XG4gICAgICBpZiAodGV4dFJlY3QpIHtcbiAgICAgICAgY29uc3QgcG9wdXBUb3AgPSBwb3NpdGlvbmVyUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHBvcHVwSGVpZ2h0ID0gcG9zaXRpb25lclJlY3QuaGVpZ2h0O1xuICAgICAgICBjb25zdCB0ZXh0Q2VudGVyWSA9IHRleHRSZWN0LnRvcCArIHRleHRSZWN0LmhlaWdodCAvIDI7XG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybU9yaWdpblkgPSBwb3B1cEhlaWdodCA+IDAgPyAodGV4dENlbnRlclkgLSBwb3B1cFRvcCkgLyBwb3B1cEhlaWdodCAqIDEwMCA6IDUwO1xuICAgICAgICBjb25zdCBjbGFtcGVkWSA9IGNsYW1wKHRyYW5zZm9ybU9yaWdpblksIDAsIDEwMCk7XG4gICAgICAgIHBvcHVwRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10cmFuc2Zvcm0tb3JpZ2luJywgYDUwJSAke2NsYW1wZWRZfSVgKTtcbiAgICAgIH1cbiAgICAgIGlmIChpbml0aWFsSGVpZ2h0ID09PSB2aWV3cG9ydEhlaWdodCB8fCBoZWlnaHQgPj0gbWF4UG9wdXBIZWlnaHQpIHtcbiAgICAgICAgcmVhY2hlZE1heEhlaWdodFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGhhbmRsZVNjcm9sbEFycm93VmlzaWJpbGl0eSgpO1xuICAgICAgaWYgKGhpZ2hsaWdodEl0ZW1PbkhvdmVyICYmIHN0b3JlLnN0YXRlLnNlbGVjdGVkSW5kZXggPT09IG51bGwgJiYgc3RvcmUuc3RhdGUuYWN0aXZlSW5kZXggPT09IG51bGwgJiYgbGlzdFJlZi5jdXJyZW50WzBdICE9IG51bGwpIHtcbiAgICAgICAgc3RvcmUuc2V0KCdhY3RpdmVJbmRleCcsIDApO1xuICAgICAgfVxuICAgICAgaW5pdGlhbFBsYWNlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgcmVzdG9yZVRyYW5zZm9ybVN0eWxlcygpO1xuICAgIH1cbiAgfSwgW3N0b3JlLCBvcGVuLCBwb3NpdGlvbmVyRWxlbWVudCwgdHJpZ2dlckVsZW1lbnQsIHZhbHVlUmVmLCBzZWxlY3RlZEl0ZW1UZXh0UmVmLCBwb3B1cFJlZiwgaGFuZGxlU2Nyb2xsQXJyb3dWaXNpYmlsaXR5LCBhbGlnbkl0ZW1XaXRoVHJpZ2dlckFjdGl2ZSwgc2V0Q29udHJvbGxlZEFsaWduSXRlbVdpdGhUcmlnZ2VyLCBzY3JvbGxBcnJvd0ZyYW1lLCBzY3JvbGxEb3duQXJyb3dSZWYsIHNjcm9sbFVwQXJyb3dSZWYsIGxpc3RFbGVtZW50LCBsaXN0UmVmLCBoaWdobGlnaHRJdGVtT25Ib3ZlciwgZGlyZWN0aW9uLCBpc1Bvc2l0aW9uZWRdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlIHx8ICFwb3NpdGlvbmVyRWxlbWVudCB8fCAhb3Blbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3Qgd2luID0gb3duZXJXaW5kb3cocG9zaXRpb25lckVsZW1lbnQpO1xuICAgIGZ1bmN0aW9uIGhhbmRsZVJlc2l6ZShldmVudCkge1xuICAgICAgc2V0T3BlbihmYWxzZSwgY3JlYXRlQ2hhbmdlRXZlbnREZXRhaWxzKFJFQVNPTlMud2luZG93UmVzaXplLCBldmVudCkpO1xuICAgIH1cbiAgICByZXR1cm4gYWRkRXZlbnRMaXN0ZW5lcih3aW4sICdyZXNpemUnLCBoYW5kbGVSZXNpemUpO1xuICB9LCBbc2V0T3BlbiwgYWxpZ25JdGVtV2l0aFRyaWdnZXJBY3RpdmUsIHBvc2l0aW9uZXJFbGVtZW50LCBvcGVuXSk7XG4gIGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgICAuLi4obGlzdEVsZW1lbnQgPyB7XG4gICAgICByb2xlOiAncHJlc2VudGF0aW9uJyxcbiAgICAgICdhcmlhLW9yaWVudGF0aW9uJzogdW5kZWZpbmVkXG4gICAgfSA6IHtcbiAgICAgIHJvbGU6ICdsaXN0Ym94JyxcbiAgICAgICdhcmlhLW11bHRpc2VsZWN0YWJsZSc6IG11bHRpcGxlIHx8IHVuZGVmaW5lZCxcbiAgICAgIGlkOiBgJHtpZH0tbGlzdGBcbiAgICB9KSxcbiAgICBvbktleURvd24oZXZlbnQpIHtcbiAgICAgIGtleWJvYXJkQWN0aXZlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgaWYgKGluc2lkZVRvb2xiYXIgJiYgQ09NUE9TSVRFX0tFWVMuaGFzKGV2ZW50LmtleSkpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBvbk1vdXNlTW92ZSgpIHtcbiAgICAgIGtleWJvYXJkQWN0aXZlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9LFxuICAgIG9uU2Nyb2xsKGV2ZW50KSB7XG4gICAgICBpZiAobGlzdEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaGFuZGxlU2Nyb2xsKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIH0sXG4gICAgLi4uKGFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlICYmIHtcbiAgICAgIHN0eWxlOiBsaXN0RWxlbWVudCA/IHtcbiAgICAgICAgaGVpZ2h0OiAnMTAwJSdcbiAgICAgIH0gOiBMSVNUX0ZVTkNUSU9OQUxfU1RZTEVTXG4gICAgfSlcbiAgfTtcbiAgY29uc3QgZWxlbWVudCA9IHVzZVJlbmRlckVsZW1lbnQoJ2RpdicsIGNvbXBvbmVudFByb3BzLCB7XG4gICAgcmVmOiBbZm9yd2FyZGVkUmVmLCBwb3B1cFJlZl0sXG4gICAgc3RhdGUsXG4gICAgc3RhdGVBdHRyaWJ1dGVzTWFwcGluZyxcbiAgICBwcm9wczogW3BvcHVwUHJvcHMsIGRlZmF1bHRQcm9wcywgZ2V0RGlzYWJsZWRNb3VudFRyYW5zaXRpb25TdHlsZXModHJhbnNpdGlvblN0YXR1cyksIHtcbiAgICAgIGNsYXNzTmFtZTogIWxpc3RFbGVtZW50ICYmIGFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlID8gc3R5bGVEaXNhYmxlU2Nyb2xsYmFyLmNsYXNzTmFtZSA6IHVuZGVmaW5lZFxuICAgIH0sIGVsZW1lbnRQcm9wc11cbiAgfSk7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovX2pzeHMoUmVhY3QuRnJhZ21lbnQsIHtcbiAgICBjaGlsZHJlbjogWyFkaXNhYmxlU3R5bGVFbGVtZW50cyAmJiBzdHlsZURpc2FibGVTY3JvbGxiYXIuZ2V0RWxlbWVudChub25jZSksIC8qI19fUFVSRV9fKi9fanN4KEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCB7XG4gICAgICBjb250ZXh0OiBmbG9hdGluZ1Jvb3RDb250ZXh0LFxuICAgICAgbW9kYWw6IGZhbHNlLFxuICAgICAgZGlzYWJsZWQ6ICFtb3VudGVkLFxuICAgICAgcmV0dXJuRm9jdXM6IGZpbmFsRm9jdXMsXG4gICAgICByZXN0b3JlRm9jdXM6IHRydWUsXG4gICAgICBjaGlsZHJlbjogZWxlbWVudFxuICAgIH0pXVxuICB9KTtcbn0pO1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikgU2VsZWN0UG9wdXAuZGlzcGxheU5hbWUgPSBcIlNlbGVjdFBvcHVwXCI7XG5mdW5jdGlvbiBnZXRNYXhQb3B1cEhlaWdodChwb3B1cFN0eWxlcykge1xuICBjb25zdCBtYXhIZWlnaHRTdHlsZSA9IHBvcHVwU3R5bGVzLm1heEhlaWdodCB8fCAnJztcbiAgcmV0dXJuIG1heEhlaWdodFN0eWxlLmVuZHNXaXRoKCdweCcpID8gcGFyc2VGbG9hdChtYXhIZWlnaHRTdHlsZSkgfHwgSW5maW5pdHkgOiBJbmZpbml0eTtcbn1cbmZ1bmN0aW9uIGdldE1heFNjcm9sbFRvcChzY3JvbGxlcikge1xuICByZXR1cm4gZ2V0TWF4U2Nyb2xsT2Zmc2V0KHNjcm9sbGVyLnNjcm9sbEhlaWdodCwgc2Nyb2xsZXIuY2xpZW50SGVpZ2h0KTtcbn1cbmZ1bmN0aW9uIGdldFNjYWxlKGVsZW1lbnQpIHtcbiAgLy8gVGhlIHBsYXRmb3JtIEFQSSBpcyBhc3luYy1jYXBhYmxlLCBidXQgdGhlIERPTSBwbGF0Zm9ybSByZXR1cm5zIGEgcGxhaW4gc2NhbGUgb2JqZWN0LlxuICByZXR1cm4gZmxvYXRpbmdQbGF0Zm9ybS5nZXRTY2FsZShlbGVtZW50KTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVNpemUoc2l6ZSwgYXhpcywgc2NhbGUpIHtcbiAgcmV0dXJuIHNpemUgLyBzY2FsZVtheGlzXTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVJlY3QocmVjdCwgc2NhbGUpIHtcbiAgcmV0dXJuIHJlY3RUb0NsaWVudFJlY3Qoe1xuICAgIHg6IG5vcm1hbGl6ZVNpemUocmVjdC54LCAneCcsIHNjYWxlKSxcbiAgICB5OiBub3JtYWxpemVTaXplKHJlY3QueSwgJ3knLCBzY2FsZSksXG4gICAgd2lkdGg6IG5vcm1hbGl6ZVNpemUocmVjdC53aWR0aCwgJ3gnLCBzY2FsZSksXG4gICAgaGVpZ2h0OiBub3JtYWxpemVTaXplKHJlY3QuaGVpZ2h0LCAneScsIHNjYWxlKVxuICB9KTtcbn1cbmNvbnN0IFRSQU5TRk9STV9TVFlMRV9SRVNFVFMgPSBbWyd0cmFuc2Zvcm0nLCAnbm9uZSddLCBbJ3NjYWxlJywgJzEnXSwgWyd0cmFuc2xhdGUnLCAnMCAwJ11dO1xuZnVuY3Rpb24gdW5zZXRUcmFuc2Zvcm1TdHlsZXMocG9wdXBFbGVtZW50KSB7XG4gIGNvbnN0IHtcbiAgICBzdHlsZVxuICB9ID0gcG9wdXBFbGVtZW50O1xuICBjb25zdCBvcmlnaW5hbFN0eWxlcyA9IHt9O1xuICBmb3IgKGNvbnN0IFtwcm9wZXJ0eSwgdmFsdWVdIG9mIFRSQU5TRk9STV9TVFlMRV9SRVNFVFMpIHtcbiAgICBvcmlnaW5hbFN0eWxlc1twcm9wZXJ0eV0gPSBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5KTtcbiAgICBzdHlsZS5zZXRQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUsICdpbXBvcnRhbnQnKTtcbiAgfVxuICByZXR1cm4gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgW3Byb3BlcnR5XSBvZiBUUkFOU0ZPUk1fU1RZTEVfUkVTRVRTKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbFZhbHVlID0gb3JpZ2luYWxTdHlsZXNbcHJvcGVydHldO1xuICAgICAgaWYgKG9yaWdpbmFsVmFsdWUpIHtcbiAgICAgICAgc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIG9yaWdpbmFsVmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3R5bGUucmVtb3ZlUHJvcGVydHkocHJvcGVydHkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn0iXSwibmFtZXMiOlsiUmVhY3QiLCJyZWN0VG9DbGllbnRSZWN0IiwiYWRkRXZlbnRMaXN0ZW5lciIsImlzV2ViS2l0IiwidXNlU3RhYmxlQ2FsbGJhY2siLCJvd25lckRvY3VtZW50Iiwib3duZXJXaW5kb3ciLCJ1c2VJc29MYXlvdXRFZmZlY3QiLCJ1c2VTdG9yZSIsInVzZUFuaW1hdGlvbkZyYW1lIiwiRmxvYXRpbmdGb2N1c01hbmFnZXIiLCJwbGF0Zm9ybSIsImZsb2F0aW5nUGxhdGZvcm0iLCJ1c2VTZWxlY3RGbG9hdGluZ0NvbnRleHQiLCJ1c2VTZWxlY3RSb290Q29udGV4dCIsInBvcHVwU3RhdGVNYXBwaW5nIiwidXNlU2VsZWN0UG9zaXRpb25lckNvbnRleHQiLCJzdHlsZURpc2FibGVTY3JvbGxiYXIiLCJ0cmFuc2l0aW9uU3RhdHVzTWFwcGluZyIsInVzZU9wZW5DaGFuZ2VDb21wbGV0ZSIsInVzZVJlbmRlckVsZW1lbnQiLCJzZWxlY3RvcnMiLCJjbGVhclN0eWxlcyIsIkxJU1RfRlVOQ1RJT05BTF9TVFlMRVMiLCJjcmVhdGVDaGFuZ2VFdmVudERldGFpbHMiLCJSRUFTT05TIiwidXNlVG9vbGJhclJvb3RDb250ZXh0IiwiQ09NUE9TSVRFX0tFWVMiLCJnZXREaXNhYmxlZE1vdW50VHJhbnNpdGlvblN0eWxlcyIsImNsYW1wIiwiZ2V0TWF4U2Nyb2xsT2Zmc2V0IiwiU0NST0xMX0VER0VfVE9MRVJBTkNFX1BYIiwidXNlQ1NQQ29udGV4dCIsInVzZURpcmVjdGlvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJzdGF0ZUF0dHJpYnV0ZXNNYXBwaW5nIiwiU2VsZWN0UG9wdXAiLCJmb3J3YXJkUmVmIiwiY29tcG9uZW50UHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJzdHlsZSIsImZpbmFsRm9jdXMiLCJlbGVtZW50UHJvcHMiLCJzdG9yZSIsInBvcHVwUmVmIiwib25PcGVuQ2hhbmdlQ29tcGxldGUiLCJzZXRPcGVuIiwidmFsdWVSZWYiLCJzZWxlY3RlZEl0ZW1UZXh0UmVmIiwia2V5Ym9hcmRBY3RpdmVSZWYiLCJtdWx0aXBsZSIsImhhbmRsZVNjcm9sbEFycm93VmlzaWJpbGl0eSIsInNjcm9sbEhhbmRsZXJSZWYiLCJsaXN0UmVmIiwiaGlnaGxpZ2h0SXRlbU9uSG92ZXIiLCJzaWRlIiwiYWxpZ24iLCJhbGlnbkl0ZW1XaXRoVHJpZ2dlckFjdGl2ZSIsImlzUG9zaXRpb25lZCIsInNldENvbnRyb2xsZWRBbGlnbkl0ZW1XaXRoVHJpZ2dlciIsInNjcm9sbERvd25BcnJvd1JlZiIsInNjcm9sbFVwQXJyb3dSZWYiLCJpbnNpZGVUb29sYmFyIiwiZmxvYXRpbmdSb290Q29udGV4dCIsImRpcmVjdGlvbiIsIm5vbmNlIiwiZGlzYWJsZVN0eWxlRWxlbWVudHMiLCJpZCIsIm9wZW4iLCJtb3VudGVkIiwicG9wdXBQcm9wcyIsInRyYW5zaXRpb25TdGF0dXMiLCJ0cmlnZ2VyRWxlbWVudCIsInBvc2l0aW9uZXJFbGVtZW50IiwibGlzdEVsZW1lbnQiLCJyZWFjaGVkTWF4SGVpZ2h0UmVmIiwidXNlUmVmIiwiaW5pdGlhbFBsYWNlZFJlZiIsIm9yaWdpbmFsUG9zaXRpb25lclN0eWxlc1JlZiIsInNjcm9sbEFycm93RnJhbWUiLCJoYW5kbGVTY3JvbGwiLCJzY3JvbGxlciIsImN1cnJlbnQiLCJpc1RvcFBvc2l0aW9uZWQiLCJ0b3AiLCJpc0JvdHRvbVBvc2l0aW9uZWQiLCJib3R0b20iLCJzY2FsZSIsImdldFNjYWxlIiwiY3VycmVudEhlaWdodCIsIm5vcm1hbGl6ZVNpemUiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJoZWlnaHQiLCJkb2MiLCJwb3NpdGlvbmVyU3R5bGVzIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsIm1hcmdpblRvcCIsInBhcnNlRmxvYXQiLCJtYXJnaW5Cb3R0b20iLCJtYXhQb3B1cEhlaWdodCIsImdldE1heFBvcHVwSGVpZ2h0IiwibWF4QXZhaWxhYmxlSGVpZ2h0IiwiTWF0aCIsIm1pbiIsImRvY3VtZW50RWxlbWVudCIsImNsaWVudEhlaWdodCIsInNjcm9sbFRvcCIsIm1heFNjcm9sbFRvcCIsImdldE1heFNjcm9sbFRvcCIsIm5leHRQb3NpdGlvbmVySGVpZ2h0IiwibmV4dFNjcm9sbFRvcCIsInNldFJlYWNoZWRNYXgiLCJzY3JvbGxUb01heCIsInNldEhlaWdodCIsImhhbmRsZVNtYWxsRGlmZiIsImRpZmYiLCJ0YXJnZXRTY3JvbGxUb3AiLCJoZWlnaHREZWx0YSIsIm5leHRIZWlnaHQiLCJvdmVyc2hvb3QiLCJjZWlsIiwibmV4dE1heFNjcm9sbFRvcCIsInRhcmdldCIsImFicyIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJyZWYiLCJvbkNvbXBsZXRlIiwic3RhdGUiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwibGVmdCIsInJpZ2h0IiwibWluSGVpZ2h0IiwibWF4SGVpZ2h0IiwicG9wdXBFbGVtZW50IiwicmVxdWVzdCIsInJlbW92ZVByb3BlcnR5IiwicmVzdG9yZVRyYW5zZm9ybVN0eWxlcyIsInVuc2V0VHJhbnNmb3JtU3R5bGVzIiwidGV4dEVsZW1lbnQiLCJ2YWx1ZUVsZW1lbnQiLCJwb3B1cFN0eWxlcyIsIndpbiIsInRyaWdnZXJSZWN0Iiwibm9ybWFsaXplUmVjdCIsInBvc2l0aW9uZXJSZWN0IiwidHJpZ2dlckhlaWdodCIsInNjcm9sbEhlaWdodCIsImJvcmRlckJvdHRvbSIsImJvcmRlckJvdHRvbVdpZHRoIiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nUmlnaHQiLCJ0cmlnZ2VyQ29sbGlzaW9uVGhyZXNob2xkIiwidmlld3BvcnRIZWlnaHQiLCJ2aWV3cG9ydFdpZHRoIiwiY2xpZW50V2lkdGgiLCJhdmFpbGFibGVTcGFjZUJlbmVhdGhUcmlnZ2VyIiwidGV4dFJlY3QiLCJhbGlnbmVkTGVmdCIsIndpZHRoIiwib2Zmc2V0WSIsInZhbHVlUmVjdCIsInZhbHVlQ2VudGVyRnJvbVRyaWdnZXJUb3AiLCJ0ZXh0Q2VudGVyRnJvbVBvc2l0aW9uZXJUb3AiLCJpZGVhbEhlaWdodCIsIm1heFJpZ2h0IiwiZmFsbGJhY2tUb0FsaWduUG9wdXBUb1RyaWdnZXIiLCJpc1BpbmNoWm9vbWVkIiwidmlzdWFsVmlld3BvcnQiLCJpbml0aWFsSGVpZ2h0IiwibWF4IiwidG9wT2Zmc2V0IiwicG9wdXBUb3AiLCJwb3B1cEhlaWdodCIsInRleHRDZW50ZXJZIiwidHJhbnNmb3JtT3JpZ2luWSIsImNsYW1wZWRZIiwic2V0UHJvcGVydHkiLCJzZWxlY3RlZEluZGV4IiwiYWN0aXZlSW5kZXgiLCJzZXQiLCJ1c2VFZmZlY3QiLCJ1bmRlZmluZWQiLCJoYW5kbGVSZXNpemUiLCJldmVudCIsIndpbmRvd1Jlc2l6ZSIsImRlZmF1bHRQcm9wcyIsInJvbGUiLCJvbktleURvd24iLCJoYXMiLCJrZXkiLCJzdG9wUHJvcGFnYXRpb24iLCJvbk1vdXNlTW92ZSIsIm9uU2Nyb2xsIiwiY3VycmVudFRhcmdldCIsImVsZW1lbnQiLCJwcm9wcyIsIkZyYWdtZW50IiwiY2hpbGRyZW4iLCJnZXRFbGVtZW50IiwiY29udGV4dCIsIm1vZGFsIiwiZGlzYWJsZWQiLCJyZXR1cm5Gb2N1cyIsInJlc3RvcmVGb2N1cyIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSIsIm1heEhlaWdodFN0eWxlIiwiZW5kc1dpdGgiLCJJbmZpbml0eSIsInNpemUiLCJheGlzIiwicmVjdCIsIngiLCJ5IiwiVFJBTlNGT1JNX1NUWUxFX1JFU0VUUyIsIm9yaWdpbmFsU3R5bGVzIiwicHJvcGVydHkiLCJ2YWx1ZSIsImdldFByb3BlcnR5VmFsdWUiLCJvcmlnaW5hbFZhbHVlIl0sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/popup/SelectPopup.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/popup/utils.js":
/*!***************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/popup/utils.js ***!
\***************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LIST_FUNCTIONAL_STYLES: () => (/* binding */ LIST_FUNCTIONAL_STYLES),\n/* harmony export */ clearStyles: () => (/* binding */ clearStyles)\n/* harmony export */ });\nfunction clearStyles(element, originalStyles) {\n if (element) {\n Object.assign(element.style, originalStyles);\n }\n}\nconst LIST_FUNCTIONAL_STYLES = {\n position: 'relative',\n maxHeight: '100%',\n overflowX: 'hidden',\n overflowY: 'auto'\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9wb3B1cC91dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9ob21lL3NpbHZpby9EZXZlbG9wL0NJUlVYLUFQUC9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9wb3B1cC91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY2xlYXJTdHlsZXMoZWxlbWVudCwgb3JpZ2luYWxTdHlsZXMpIHtcbiAgaWYgKGVsZW1lbnQpIHtcbiAgICBPYmplY3QuYXNzaWduKGVsZW1lbnQuc3R5bGUsIG9yaWdpbmFsU3R5bGVzKTtcbiAgfVxufVxuZXhwb3J0IGNvbnN0IExJU1RfRlVOQ1RJT05BTF9TVFlMRVMgPSB7XG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBtYXhIZWlnaHQ6ICcxMDAlJyxcbiAgb3ZlcmZsb3dYOiAnaGlkZGVuJyxcbiAgb3ZlcmZsb3dZOiAnYXV0bydcbn07Il0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/popup/utils.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/portal/SelectPortal.js":
/*!***********************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/portal/SelectPortal.js ***!
\***********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectPortal: () => (/* binding */ SelectPortal)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _base_ui_utils_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @base-ui/utils/store */ \"(ssr)/./node_modules/@base-ui/utils/esm/store/useStore.js\");\n/* harmony import */ var _floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../floating-ui-react/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingPortal.js\");\n/* harmony import */ var _SelectPortalContext_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SelectPortalContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/portal/SelectPortalContext.js\");\n/* harmony import */ var _root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../root/SelectRootContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/root/SelectRootContext.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../store.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/store.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ SelectPortal auto */ \n\n\n\n\n\n/**\n * A portal element that moves the popup to a different part of the DOM.\n * By default, the portal element is appended to ``.\n * Renders a `
` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */ \nconst SelectPortal = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function SelectPortal(portalProps, forwardedRef) {\n const { store } = (0,_root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_2__.useSelectRootContext)();\n const mounted = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_3__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_4__.selectors.mounted);\n const forceMount = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_3__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_4__.selectors.forceMount);\n const shouldRender = mounted || forceMount;\n if (!shouldRender) {\n return null;\n }\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_SelectPortalContext_js__WEBPACK_IMPORTED_MODULE_5__.SelectPortalContext.Provider, {\n value: true,\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_6__.FloatingPortal, {\n ref: forwardedRef,\n ...portalProps\n })\n });\n});\nif (true) SelectPortal.displayName = \"SelectPortal\";\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9wb3J0YWwvU2VsZWN0UG9ydGFsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O2tFQUUrQjtBQUNpQjtBQUNrQjtBQUNIO0FBQ0s7QUFDNUI7QUFFeEM7Ozs7OztDQU1DLEdBQytDO0FBQ3pDLE1BQU1RLGVBQWUsV0FBVyxHQUFFUiw2Q0FBZ0IsQ0FBQyxTQUFTUSxhQUFhRSxXQUFXLEVBQUVDLFlBQVk7SUFDdkcsTUFBTSxFQUNKQyxLQUFLLEVBQ04sR0FBR1IsZ0ZBQW9CQTtJQUN4QixNQUFNUyxVQUFVWiw4REFBUUEsQ0FBQ1csT0FBT1AsZ0RBQVNBLENBQUNRLE9BQU87SUFDakQsTUFBTUMsYUFBYWIsOERBQVFBLENBQUNXLE9BQU9QLGdEQUFTQSxDQUFDUyxVQUFVO0lBQ3ZELE1BQU1DLGVBQWVGLFdBQVdDO0lBQ2hDLElBQUksQ0FBQ0MsY0FBYztRQUNqQixPQUFPO0lBQ1Q7SUFDQSxPQUFPLFdBQVcsR0FBRVIsc0RBQUlBLENBQUNKLHdFQUFtQkEsQ0FBQ2EsUUFBUSxFQUFFO1FBQ3JEQyxPQUFPO1FBQ1BDLFVBQVUsV0FBVyxHQUFFWCxzREFBSUEsQ0FBQ0wsdUVBQWNBLEVBQUU7WUFDMUNpQixLQUFLUjtZQUNMLEdBQUdELFdBQVc7UUFDaEI7SUFDRjtBQUNGLEdBQUc7QUFDSCxJQUFJVSxJQUFxQyxFQUFFWixhQUFhYSxXQUFXLEdBQUciLCJzb3VyY2VzIjpbIi9ob21lL3NpbHZpby9EZXZlbG9wL0NJUlVYLUFQUC9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9wb3J0YWwvU2VsZWN0UG9ydGFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlU3RvcmUgfSBmcm9tICdAYmFzZS11aS91dGlscy9zdG9yZSc7XG5pbXBvcnQgeyBGbG9hdGluZ1BvcnRhbCB9IGZyb20gXCIuLi8uLi9mbG9hdGluZy11aS1yZWFjdC9pbmRleC5qc1wiO1xuaW1wb3J0IHsgU2VsZWN0UG9ydGFsQ29udGV4dCB9IGZyb20gXCIuL1NlbGVjdFBvcnRhbENvbnRleHQuanNcIjtcbmltcG9ydCB7IHVzZVNlbGVjdFJvb3RDb250ZXh0IH0gZnJvbSBcIi4uL3Jvb3QvU2VsZWN0Um9vdENvbnRleHQuanNcIjtcbmltcG9ydCB7IHNlbGVjdG9ycyB9IGZyb20gXCIuLi9zdG9yZS5qc1wiO1xuXG4vKipcbiAqIEEgcG9ydGFsIGVsZW1lbnQgdGhhdCBtb3ZlcyB0aGUgcG9wdXAgdG8gYSBkaWZmZXJlbnQgcGFydCBvZiB0aGUgRE9NLlxuICogQnkgZGVmYXVsdCwgdGhlIHBvcnRhbCBlbGVtZW50IGlzIGFwcGVuZGVkIHRvIGA8Ym9keT5gLlxuICogUmVuZGVycyBhIGA8ZGl2PmAgZWxlbWVudC5cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBbQmFzZSBVSSBTZWxlY3RdKGh0dHBzOi8vYmFzZS11aS5jb20vcmVhY3QvY29tcG9uZW50cy9zZWxlY3QpXG4gKi9cbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5leHBvcnQgY29uc3QgU2VsZWN0UG9ydGFsID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gU2VsZWN0UG9ydGFsKHBvcnRhbFByb3BzLCBmb3J3YXJkZWRSZWYpIHtcbiAgY29uc3Qge1xuICAgIHN0b3JlXG4gIH0gPSB1c2VTZWxlY3RSb290Q29udGV4dCgpO1xuICBjb25zdCBtb3VudGVkID0gdXNlU3RvcmUoc3RvcmUsIHNlbGVjdG9ycy5tb3VudGVkKTtcbiAgY29uc3QgZm9yY2VNb3VudCA9IHVzZVN0b3JlKHN0b3JlLCBzZWxlY3RvcnMuZm9yY2VNb3VudCk7XG4gIGNvbnN0IHNob3VsZFJlbmRlciA9IG1vdW50ZWQgfHwgZm9yY2VNb3VudDtcbiAgaWYgKCFzaG91bGRSZW5kZXIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gLyojX19QVVJFX18qL19qc3goU2VsZWN0UG9ydGFsQ29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiB0cnVlLFxuICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovX2pzeChGbG9hdGluZ1BvcnRhbCwge1xuICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAuLi5wb3J0YWxQcm9wc1xuICAgIH0pXG4gIH0pO1xufSk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSBTZWxlY3RQb3J0YWwuZGlzcGxheU5hbWUgPSBcIlNlbGVjdFBvcnRhbFwiOyJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0b3JlIiwiRmxvYXRpbmdQb3J0YWwiLCJTZWxlY3RQb3J0YWxDb250ZXh0IiwidXNlU2VsZWN0Um9vdENvbnRleHQiLCJzZWxlY3RvcnMiLCJqc3giLCJfanN4IiwiU2VsZWN0UG9ydGFsIiwiZm9yd2FyZFJlZiIsInBvcnRhbFByb3BzIiwiZm9yd2FyZGVkUmVmIiwic3RvcmUiLCJtb3VudGVkIiwiZm9yY2VNb3VudCIsInNob3VsZFJlbmRlciIsIlByb3ZpZGVyIiwidmFsdWUiLCJjaGlsZHJlbiIsInJlZiIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/portal/SelectPortal.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/portal/SelectPortalContext.js":
/*!******************************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/portal/SelectPortalContext.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectPortalContext: () => (/* binding */ SelectPortalContext),\n/* harmony export */ useSelectPortalContext: () => (/* binding */ useSelectPortalContext)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* __next_internal_client_entry_do_not_use__ SelectPortalContext,useSelectPortalContext auto */ \n\nconst SelectPortalContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createContext(undefined);\nif (true) SelectPortalContext.displayName = \"SelectPortalContext\";\nfunction useSelectPortalContext() {\n const value = react__WEBPACK_IMPORTED_MODULE_0__.useContext(SelectPortalContext);\n if (value === undefined) {\n throw new Error( true ? 'Base UI:
is missing.' : 0);\n }\n return value;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9wb3J0YWwvU2VsZWN0UG9ydGFsQ29udGV4dC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Z0dBRW9FO0FBQ3JDO0FBQ3hCLE1BQU1FLHNCQUFzQixXQUFXLEdBQUVELGdEQUFtQixDQUFDRyxXQUFXO0FBQy9FLElBQUlDLElBQXFDLEVBQUVILG9CQUFvQkksV0FBVyxHQUFHO0FBQ3RFLFNBQVNDO0lBQ2QsTUFBTUMsUUFBUVAsNkNBQWdCLENBQUNDO0lBQy9CLElBQUlNLFVBQVVKLFdBQVc7UUFDdkIsTUFBTSxJQUFJTSxNQUFNTCxLQUFxQyxHQUFHLHlDQUF5Q0wsQ0FBdUI7SUFDMUg7SUFDQSxPQUFPUTtBQUNUIiwic291cmNlcyI6WyIvaG9tZS9zaWx2aW8vRGV2ZWxvcC9DSVJVWC1BUFAvbm9kZV9tb2R1bGVzL0BiYXNlLXVpL3JlYWN0L2VzbS9zZWxlY3QvcG9ydGFsL1NlbGVjdFBvcnRhbENvbnRleHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgX2Zvcm1hdEVycm9yTWVzc2FnZSBmcm9tIFwiQGJhc2UtdWkvdXRpbHMvZm9ybWF0RXJyb3JNZXNzYWdlXCI7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5leHBvcnQgY29uc3QgU2VsZWN0UG9ydGFsQ29udGV4dCA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVDb250ZXh0KHVuZGVmaW5lZCk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSBTZWxlY3RQb3J0YWxDb250ZXh0LmRpc3BsYXlOYW1lID0gXCJTZWxlY3RQb3J0YWxDb250ZXh0XCI7XG5leHBvcnQgZnVuY3Rpb24gdXNlU2VsZWN0UG9ydGFsQ29udGV4dCgpIHtcbiAgY29uc3QgdmFsdWUgPSBSZWFjdC51c2VDb250ZXh0KFNlbGVjdFBvcnRhbENvbnRleHQpO1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyAnQmFzZSBVSTogPFNlbGVjdC5Qb3J0YWw+IGlzIG1pc3NpbmcuJyA6IF9mb3JtYXRFcnJvck1lc3NhZ2UoNTgpKTtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59Il0sIm5hbWVzIjpbIl9mb3JtYXRFcnJvck1lc3NhZ2UiLCJSZWFjdCIsIlNlbGVjdFBvcnRhbENvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwidW5kZWZpbmVkIiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIiwidXNlU2VsZWN0UG9ydGFsQ29udGV4dCIsInZhbHVlIiwidXNlQ29udGV4dCIsIkVycm9yIl0sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/portal/SelectPortalContext.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/positioner/SelectPositioner.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/positioner/SelectPositioner.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectPositioner: () => (/* binding */ SelectPositioner)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _base_ui_utils_inertValue__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @base-ui/utils/inertValue */ \"(ssr)/./node_modules/@base-ui/utils/esm/inertValue.js\");\n/* harmony import */ var _base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @base-ui/utils/useIsoLayoutEffect */ \"(ssr)/./node_modules/@base-ui/utils/esm/useIsoLayoutEffect.js\");\n/* harmony import */ var _base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @base-ui/utils/useStableCallback */ \"(ssr)/./node_modules/@base-ui/utils/esm/useStableCallback.js\");\n/* harmony import */ var _base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @base-ui/utils/store */ \"(ssr)/./node_modules/@base-ui/utils/esm/store/useStore.js\");\n/* harmony import */ var _root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../root/SelectRootContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/root/SelectRootContext.js\");\n/* harmony import */ var _internals_composite_list_CompositeList_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../internals/composite/list/CompositeList.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/composite/list/CompositeList.js\");\n/* harmony import */ var _utils_useAnchorPositioning_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/useAnchorPositioning.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/useAnchorPositioning.js\");\n/* harmony import */ var _SelectPositionerContext_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./SelectPositionerContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/positioner/SelectPositionerContext.js\");\n/* harmony import */ var _utils_InternalBackdrop_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../utils/InternalBackdrop.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/InternalBackdrop.js\");\n/* harmony import */ var _internals_constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../internals/constants.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/constants.js\");\n/* harmony import */ var _popup_utils_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../popup/utils.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/popup/utils.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../store.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/store.js\");\n/* harmony import */ var _internals_createBaseUIEventDetails_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../internals/createBaseUIEventDetails.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/createBaseUIEventDetails.js\");\n/* harmony import */ var _internals_reasons_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../internals/reasons.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/reason-parts.js\");\n/* harmony import */ var _internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../internals/itemEquality.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/itemEquality.js\");\n/* harmony import */ var _utils_usePositioner_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/usePositioner.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/usePositioner.js\");\n/* harmony import */ var _utils_useAnchoredPopupScrollLock_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/useAnchoredPopupScrollLock.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/useAnchoredPopupScrollLock.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ SelectPositioner auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst FIXED = {\n position: 'fixed'\n};\n/**\n * Positions the select popup.\n * Renders a `` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */ const SelectPositioner = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function SelectPositioner(componentProps, forwardedRef) {\n const { anchor, positionMethod = 'absolute', className, render, side = 'bottom', align = 'center', sideOffset = 0, alignOffset = 0, collisionBoundary = 'clipping-ancestors', collisionPadding, arrowPadding = 5, sticky = false, disableAnchorTracking, alignItemWithTrigger = true, collisionAvoidance = _internals_constants_js__WEBPACK_IMPORTED_MODULE_2__.DROPDOWN_COLLISION_AVOIDANCE, style, ...elementProps } = componentProps;\n const { store, listRef, labelsRef, alignItemWithTriggerActiveRef, selectedItemTextRef, valuesRef, initialValueRef, popupRef, setValue } = (0,_root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_3__.useSelectRootContext)();\n const floatingRootContext = (0,_root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_3__.useSelectFloatingContext)();\n const open = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.open);\n const mounted = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.mounted);\n const modal = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.modal);\n const value = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.value);\n const openMethod = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.openMethod);\n const positionerElement = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.positionerElement);\n const triggerElement = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.triggerElement);\n const isItemEqualToValue = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.isItemEqualToValue);\n const transitionStatus = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.transitionStatus);\n const scrollUpArrowRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const scrollDownArrowRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const [controlledAlignItemWithTrigger, setControlledAlignItemWithTrigger] = react__WEBPACK_IMPORTED_MODULE_0__.useState(alignItemWithTrigger);\n const alignItemWithTriggerActive = mounted && controlledAlignItemWithTrigger && openMethod !== 'touch';\n if (!mounted && controlledAlignItemWithTrigger !== alignItemWithTrigger) {\n setControlledAlignItemWithTrigger(alignItemWithTrigger);\n }\n (0,_base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_6__.useIsoLayoutEffect)({\n \"SelectPositioner.SelectPositioner.useIsoLayoutEffect\": ()=>{\n if (!mounted) {\n if (_store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.scrollUpArrowVisible(store.state)) {\n store.set('scrollUpArrowVisible', false);\n }\n if (_store_js__WEBPACK_IMPORTED_MODULE_5__.selectors.scrollDownArrowVisible(store.state)) {\n store.set('scrollDownArrowVisible', false);\n }\n }\n }\n }[\"SelectPositioner.SelectPositioner.useIsoLayoutEffect\"], [\n store,\n mounted\n ]);\n react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(alignItemWithTriggerActiveRef, {\n \"SelectPositioner.SelectPositioner.useImperativeHandle\": ()=>alignItemWithTriggerActive\n }[\"SelectPositioner.SelectPositioner.useImperativeHandle\"]);\n (0,_utils_useAnchoredPopupScrollLock_js__WEBPACK_IMPORTED_MODULE_7__.useAnchoredPopupScrollLock)((alignItemWithTriggerActive || modal) && open, openMethod === 'touch', positionerElement, triggerElement);\n const positioning = (0,_utils_useAnchorPositioning_js__WEBPACK_IMPORTED_MODULE_8__.useAnchorPositioning)({\n anchor,\n floatingRootContext,\n positionMethod,\n mounted,\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n disableAnchorTracking: disableAnchorTracking ?? alignItemWithTriggerActive,\n collisionAvoidance,\n keepMounted: true\n });\n const renderedSide = alignItemWithTriggerActive ? 'none' : positioning.side;\n const positionerStyles = alignItemWithTriggerActive ? FIXED : positioning.positionerStyles;\n const state = {\n open,\n side: renderedSide,\n align: positioning.align,\n anchorHidden: positioning.anchorHidden\n };\n const setPositionerElement = (0,_base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_9__.useStableCallback)({\n \"SelectPositioner.SelectPositioner.useStableCallback[setPositionerElement]\": (element)=>{\n store.set('positionerElement', element);\n }\n }[\"SelectPositioner.SelectPositioner.useStableCallback[setPositionerElement]\"]);\n const element = (0,_utils_usePositioner_js__WEBPACK_IMPORTED_MODULE_10__.usePositioner)(componentProps, state, {\n styles: positionerStyles,\n transitionStatus,\n props: elementProps,\n refs: [\n forwardedRef,\n setPositionerElement\n ],\n hidden: !mounted,\n inert: !open\n });\n const prevMapSizeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const onMapChange = (0,_base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_9__.useStableCallback)({\n \"SelectPositioner.SelectPositioner.useStableCallback[onMapChange]\": (map)=>{\n if (map.size === 0 && prevMapSizeRef.current === 0) {\n return;\n }\n if (valuesRef.current.length === 0) {\n return;\n }\n const prevSize = prevMapSizeRef.current;\n prevMapSizeRef.current = map.size;\n if (map.size === prevSize) {\n return;\n }\n const eventDetails = (0,_internals_createBaseUIEventDetails_js__WEBPACK_IMPORTED_MODULE_11__.createChangeEventDetails)(_internals_reasons_js__WEBPACK_IMPORTED_MODULE_12__.none);\n if (prevSize !== 0 && !store.state.multiple && value !== null) {\n const selectedValueIndex = (0,_internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_13__.findItemIndex)(valuesRef.current, value, isItemEqualToValue);\n if (selectedValueIndex === -1) {\n const initialSelectedValue = initialValueRef.current;\n const hasInitial = initialSelectedValue != null && (0,_internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_13__.findItemIndex)(valuesRef.current, initialSelectedValue, isItemEqualToValue) !== -1;\n const nextValue = hasInitial ? initialSelectedValue : null;\n setValue(nextValue, eventDetails);\n if (nextValue === null) {\n store.set('selectedIndex', null);\n selectedItemTextRef.current = null;\n }\n }\n }\n if (prevSize !== 0 && store.state.multiple && Array.isArray(value)) {\n const hasVisibleItem = {\n \"SelectPositioner.SelectPositioner.useStableCallback[onMapChange].hasVisibleItem\": (selectedItemValue)=>(0,_internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_13__.findItemIndex)(valuesRef.current, selectedItemValue, isItemEqualToValue) !== -1\n }[\"SelectPositioner.SelectPositioner.useStableCallback[onMapChange].hasVisibleItem\"];\n const nextValue = value.filter({\n \"SelectPositioner.SelectPositioner.useStableCallback[onMapChange].nextValue\": (selectedItemValue)=>hasVisibleItem(selectedItemValue)\n }[\"SelectPositioner.SelectPositioner.useStableCallback[onMapChange].nextValue\"]);\n if (nextValue.length !== value.length || nextValue.some({\n \"SelectPositioner.SelectPositioner.useStableCallback[onMapChange]\": (selectedItemValue)=>!(0,_internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_13__.selectedValueIncludes)(value, selectedItemValue, isItemEqualToValue)\n }[\"SelectPositioner.SelectPositioner.useStableCallback[onMapChange]\"])) {\n setValue(nextValue, eventDetails);\n if (nextValue.length === 0) {\n store.set('selectedIndex', null);\n selectedItemTextRef.current = null;\n }\n }\n }\n if (open && alignItemWithTriggerActive) {\n store.update({\n scrollUpArrowVisible: false,\n scrollDownArrowVisible: false\n });\n const stylesToClear = {\n height: ''\n };\n (0,_popup_utils_js__WEBPACK_IMPORTED_MODULE_14__.clearStyles)(positionerElement, stylesToClear);\n (0,_popup_utils_js__WEBPACK_IMPORTED_MODULE_14__.clearStyles)(popupRef.current, stylesToClear);\n }\n }\n }[\"SelectPositioner.SelectPositioner.useStableCallback[onMapChange]\"]);\n const contextValue = react__WEBPACK_IMPORTED_MODULE_0__.useMemo({\n \"SelectPositioner.SelectPositioner.useMemo[contextValue]\": ()=>({\n ...positioning,\n side: renderedSide,\n alignItemWithTriggerActive,\n setControlledAlignItemWithTrigger,\n scrollUpArrowRef,\n scrollDownArrowRef\n })\n }[\"SelectPositioner.SelectPositioner.useMemo[contextValue]\"], [\n positioning,\n renderedSide,\n alignItemWithTriggerActive,\n setControlledAlignItemWithTrigger\n ]);\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_internals_composite_list_CompositeList_js__WEBPACK_IMPORTED_MODULE_15__.CompositeList, {\n elementsRef: listRef,\n labelsRef: labelsRef,\n onMapChange: onMapChange,\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_SelectPositionerContext_js__WEBPACK_IMPORTED_MODULE_16__.SelectPositionerContext.Provider, {\n value: contextValue,\n children: [\n mounted && modal && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_utils_InternalBackdrop_js__WEBPACK_IMPORTED_MODULE_17__.InternalBackdrop, {\n inert: (0,_base_ui_utils_inertValue__WEBPACK_IMPORTED_MODULE_18__.inertValue)(!open),\n cutout: triggerElement\n }),\n element\n ]\n })\n });\n});\nif (true) SelectPositioner.displayName = \"SelectPositioner\";\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9wb3NpdGlvbmVyL1NlbGVjdFBvc2l0aW9uZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0VBRStCO0FBQ3dCO0FBQ2dCO0FBQ0Y7QUFDckI7QUFDOEM7QUFDZDtBQUNMO0FBQ0o7QUFDSjtBQUNTO0FBQzVCO0FBQ1I7QUFDK0M7QUFDbEM7QUFDa0M7QUFDMUI7QUFDMEI7QUFDeEI7QUFDL0QsTUFBTXdCLFFBQVE7SUFDWkMsVUFBVTtBQUNaO0FBRUE7Ozs7O0NBS0MsR0FDTSxNQUFNQyxtQkFBbUIsV0FBVyxHQUFFMUIsNkNBQWdCLENBQUMsU0FBUzBCLGlCQUFpQkUsY0FBYyxFQUFFQyxZQUFZO0lBQ2xILE1BQU0sRUFDSkMsTUFBTSxFQUNOQyxpQkFBaUIsVUFBVSxFQUMzQkMsU0FBUyxFQUNUQyxNQUFNLEVBQ05DLE9BQU8sUUFBUSxFQUNmQyxRQUFRLFFBQVEsRUFDaEJDLGFBQWEsQ0FBQyxFQUNkQyxjQUFjLENBQUMsRUFDZkMsb0JBQW9CLG9CQUFvQixFQUN4Q0MsZ0JBQWdCLEVBQ2hCQyxlQUFlLENBQUMsRUFDaEJDLFNBQVMsS0FBSyxFQUNkQyxxQkFBcUIsRUFDckJDLHVCQUF1QixJQUFJLEVBQzNCQyxxQkFBcUJqQyxpRkFBNEIsRUFDakRrQyxLQUFLLEVBQ0wsR0FBR0MsY0FDSixHQUFHbEI7SUFDSixNQUFNLEVBQ0ptQixLQUFLLEVBQ0xDLE9BQU8sRUFDUEMsU0FBUyxFQUNUQyw2QkFBNkIsRUFDN0JDLG1CQUFtQixFQUNuQkMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLFFBQVEsRUFDUkMsUUFBUSxFQUNULEdBQUdsRCxnRkFBb0JBO0lBQ3hCLE1BQU1tRCxzQkFBc0JsRCxvRkFBd0JBO0lBQ3BELE1BQU1tRCxPQUFPckQsOERBQVFBLENBQUMyQyxPQUFPbEMsZ0RBQVNBLENBQUM0QyxJQUFJO0lBQzNDLE1BQU1DLFVBQVV0RCw4REFBUUEsQ0FBQzJDLE9BQU9sQyxnREFBU0EsQ0FBQzZDLE9BQU87SUFDakQsTUFBTUMsUUFBUXZELDhEQUFRQSxDQUFDMkMsT0FBT2xDLGdEQUFTQSxDQUFDOEMsS0FBSztJQUM3QyxNQUFNQyxRQUFReEQsOERBQVFBLENBQUMyQyxPQUFPbEMsZ0RBQVNBLENBQUMrQyxLQUFLO0lBQzdDLE1BQU1DLGFBQWF6RCw4REFBUUEsQ0FBQzJDLE9BQU9sQyxnREFBU0EsQ0FBQ2dELFVBQVU7SUFDdkQsTUFBTUMsb0JBQW9CMUQsOERBQVFBLENBQUMyQyxPQUFPbEMsZ0RBQVNBLENBQUNpRCxpQkFBaUI7SUFDckUsTUFBTUMsaUJBQWlCM0QsOERBQVFBLENBQUMyQyxPQUFPbEMsZ0RBQVNBLENBQUNrRCxjQUFjO0lBQy9ELE1BQU1DLHFCQUFxQjVELDhEQUFRQSxDQUFDMkMsT0FBT2xDLGdEQUFTQSxDQUFDbUQsa0JBQWtCO0lBQ3ZFLE1BQU1DLG1CQUFtQjdELDhEQUFRQSxDQUFDMkMsT0FBT2xDLGdEQUFTQSxDQUFDb0QsZ0JBQWdCO0lBQ25FLE1BQU1DLG1CQUFtQmxFLHlDQUFZLENBQUM7SUFDdEMsTUFBTW9FLHFCQUFxQnBFLHlDQUFZLENBQUM7SUFDeEMsTUFBTSxDQUFDcUUsZ0NBQWdDQyxrQ0FBa0MsR0FBR3RFLDJDQUFjLENBQUMyQztJQUMzRixNQUFNNkIsNkJBQTZCZCxXQUFXVyxrQ0FBa0NSLGVBQWU7SUFDL0YsSUFBSSxDQUFDSCxXQUFXVyxtQ0FBbUMxQixzQkFBc0I7UUFDdkUyQixrQ0FBa0MzQjtJQUNwQztJQUNBekMscUZBQWtCQTtnRUFBQztZQUNqQixJQUFJLENBQUN3RCxTQUFTO2dCQUNaLElBQUk3QyxnREFBU0EsQ0FBQzRELG9CQUFvQixDQUFDMUIsTUFBTTJCLEtBQUssR0FBRztvQkFDL0MzQixNQUFNNEIsR0FBRyxDQUFDLHdCQUF3QjtnQkFDcEM7Z0JBQ0EsSUFBSTlELGdEQUFTQSxDQUFDK0Qsc0JBQXNCLENBQUM3QixNQUFNMkIsS0FBSyxHQUFHO29CQUNqRDNCLE1BQU00QixHQUFHLENBQUMsMEJBQTBCO2dCQUN0QztZQUNGO1FBQ0Y7K0RBQUc7UUFBQzVCO1FBQU9XO0tBQVE7SUFDbkIxRCxzREFBeUIsQ0FBQ2tEO2lFQUErQixJQUFNc0I7O0lBQy9EckQsZ0dBQTBCQSxDQUFDLENBQUNxRCw4QkFBOEJiLEtBQUksS0FBTUYsTUFBTUksZUFBZSxTQUFTQyxtQkFBbUJDO0lBQ3JILE1BQU1lLGNBQWN0RSxvRkFBb0JBLENBQUM7UUFDdkNzQjtRQUNBMEI7UUFDQXpCO1FBQ0EyQjtRQUNBeEI7UUFDQUU7UUFDQUQ7UUFDQUU7UUFDQUc7UUFDQUY7UUFDQUM7UUFDQUU7UUFDQUMsdUJBQXVCQSx5QkFBeUI4QjtRQUNoRDVCO1FBQ0FtQyxhQUFhO0lBQ2Y7SUFDQSxNQUFNQyxlQUFlUiw2QkFBNkIsU0FBU00sWUFBWTVDLElBQUk7SUFDM0UsTUFBTStDLG1CQUFtQlQsNkJBQTZCaEQsUUFBUXNELFlBQVlHLGdCQUFnQjtJQUMxRixNQUFNUCxRQUFRO1FBQ1pqQjtRQUNBdkIsTUFBTThDO1FBQ043QyxPQUFPMkMsWUFBWTNDLEtBQUs7UUFDeEIrQyxjQUFjSixZQUFZSSxZQUFZO0lBQ3hDO0lBQ0EsTUFBTUMsdUJBQXVCaEYsbUZBQWlCQTtxRkFBQ2lGLENBQUFBO1lBQzdDckMsTUFBTTRCLEdBQUcsQ0FBQyxxQkFBcUJTO1FBQ2pDOztJQUNBLE1BQU1BLFVBQVVsRSx1RUFBYUEsQ0FBQ1UsZ0JBQWdCOEMsT0FBTztRQUNuRFcsUUFBUUo7UUFDUmhCO1FBQ0FxQixPQUFPeEM7UUFDUHlDLE1BQU07WUFBQzFEO1lBQWNzRDtTQUFxQjtRQUMxQ0ssUUFBUSxDQUFDOUI7UUFDVCtCLE9BQU8sQ0FBQ2hDO0lBQ1Y7SUFDQSxNQUFNaUMsaUJBQWlCMUYseUNBQVksQ0FBQztJQUNwQyxNQUFNMkYsY0FBY3hGLG1GQUFpQkE7NEVBQUN5RixDQUFBQTtZQUNwQyxJQUFJQSxJQUFJQyxJQUFJLEtBQUssS0FBS0gsZUFBZUksT0FBTyxLQUFLLEdBQUc7Z0JBQ2xEO1lBQ0Y7WUFDQSxJQUFJMUMsVUFBVTBDLE9BQU8sQ0FBQ0MsTUFBTSxLQUFLLEdBQUc7Z0JBQ2xDO1lBQ0Y7WUFDQSxNQUFNQyxXQUFXTixlQUFlSSxPQUFPO1lBQ3ZDSixlQUFlSSxPQUFPLEdBQUdGLElBQUlDLElBQUk7WUFDakMsSUFBSUQsSUFBSUMsSUFBSSxLQUFLRyxVQUFVO2dCQUN6QjtZQUNGO1lBQ0EsTUFBTUMsZUFBZW5GLGlHQUF3QkEsQ0FBQ0Msd0RBQVk7WUFDMUQsSUFBSWlGLGFBQWEsS0FBSyxDQUFDakQsTUFBTTJCLEtBQUssQ0FBQ3lCLFFBQVEsSUFBSXZDLFVBQVUsTUFBTTtnQkFDN0QsTUFBTXdDLHFCQUFxQnBGLDBFQUFhQSxDQUFDb0MsVUFBVTBDLE9BQU8sRUFBRWxDLE9BQU9JO2dCQUNuRSxJQUFJb0MsdUJBQXVCLENBQUMsR0FBRztvQkFDN0IsTUFBTUMsdUJBQXVCaEQsZ0JBQWdCeUMsT0FBTztvQkFDcEQsTUFBTVEsYUFBYUQsd0JBQXdCLFFBQVFyRiwwRUFBYUEsQ0FBQ29DLFVBQVUwQyxPQUFPLEVBQUVPLHNCQUFzQnJDLHdCQUF3QixDQUFDO29CQUNuSSxNQUFNdUMsWUFBWUQsYUFBYUQsdUJBQXVCO29CQUN0RDlDLFNBQVNnRCxXQUFXTjtvQkFDcEIsSUFBSU0sY0FBYyxNQUFNO3dCQUN0QnhELE1BQU00QixHQUFHLENBQUMsaUJBQWlCO3dCQUMzQnhCLG9CQUFvQjJDLE9BQU8sR0FBRztvQkFDaEM7Z0JBQ0Y7WUFDRjtZQUNBLElBQUlFLGFBQWEsS0FBS2pELE1BQU0yQixLQUFLLENBQUN5QixRQUFRLElBQUlLLE1BQU1DLE9BQU8sQ0FBQzdDLFFBQVE7Z0JBQ2xFLE1BQU04Qzt1R0FBaUJDLENBQUFBLG9CQUFxQjNGLDBFQUFhQSxDQUFDb0MsVUFBVTBDLE9BQU8sRUFBRWEsbUJBQW1CM0Msd0JBQXdCLENBQUM7O2dCQUN6SCxNQUFNdUMsWUFBWTNDLE1BQU1nRCxNQUFNO2tHQUFDRCxDQUFBQSxvQkFBcUJELGVBQWVDOztnQkFDbkUsSUFBSUosVUFBVVIsTUFBTSxLQUFLbkMsTUFBTW1DLE1BQU0sSUFBSVEsVUFBVU0sSUFBSTt3RkFBQ0YsQ0FBQUEsb0JBQXFCLENBQUMxRixrRkFBcUJBLENBQUMyQyxPQUFPK0MsbUJBQW1CM0M7d0ZBQXNCO29CQUNsSlQsU0FBU2dELFdBQVdOO29CQUNwQixJQUFJTSxVQUFVUixNQUFNLEtBQUssR0FBRzt3QkFDMUJoRCxNQUFNNEIsR0FBRyxDQUFDLGlCQUFpQjt3QkFDM0J4QixvQkFBb0IyQyxPQUFPLEdBQUc7b0JBQ2hDO2dCQUNGO1lBQ0Y7WUFDQSxJQUFJckMsUUFBUWUsNEJBQTRCO2dCQUN0Q3pCLE1BQU0rRCxNQUFNLENBQUM7b0JBQ1hyQyxzQkFBc0I7b0JBQ3RCRyx3QkFBd0I7Z0JBQzFCO2dCQUNBLE1BQU1tQyxnQkFBZ0I7b0JBQ3BCQyxRQUFRO2dCQUNWO2dCQUNBcEcsNkRBQVdBLENBQUNrRCxtQkFBbUJpRDtnQkFDL0JuRyw2REFBV0EsQ0FBQzBDLFNBQVN3QyxPQUFPLEVBQUVpQjtZQUNoQztRQUNGOztJQUNBLE1BQU1FLGVBQWVqSCwwQ0FBYTttRUFBQyxJQUFPO2dCQUN4QyxHQUFHOEUsV0FBVztnQkFDZDVDLE1BQU04QztnQkFDTlI7Z0JBQ0FGO2dCQUNBSjtnQkFDQUU7WUFDRjtrRUFBSTtRQUFDVTtRQUFhRTtRQUFjUjtRQUE0QkY7S0FBa0M7SUFDOUYsT0FBTyxXQUFXLEdBQUVqRCxzREFBSUEsQ0FBQ2Qsc0ZBQWFBLEVBQUU7UUFDdEM0RyxhQUFhbkU7UUFDYkMsV0FBV0E7UUFDWDBDLGFBQWFBO1FBQ2J5QixVQUFVLFdBQVcsR0FBRTdGLHVEQUFLQSxDQUFDZCxpRkFBdUJBLENBQUM0RyxRQUFRLEVBQUU7WUFDN0R6RCxPQUFPcUQ7WUFDUEcsVUFBVTtnQkFBQzFELFdBQVdDLFNBQVMsV0FBVyxHQUFFdEMsc0RBQUlBLENBQUNYLHlFQUFnQkEsRUFBRTtvQkFDakUrRSxPQUFPeEYsc0VBQVVBLENBQUMsQ0FBQ3dEO29CQUNuQjZELFFBQVF2RDtnQkFDVjtnQkFBSXFCO2FBQVE7UUFDZDtJQUNGO0FBQ0YsR0FBRztBQUNILElBQUltQyxJQUFxQyxFQUFFN0YsaUJBQWlCOEYsV0FBVyxHQUFHIiwic291cmNlcyI6WyIvaG9tZS9zaWx2aW8vRGV2ZWxvcC9DSVJVWC1BUFAvbm9kZV9tb2R1bGVzL0BiYXNlLXVpL3JlYWN0L2VzbS9zZWxlY3QvcG9zaXRpb25lci9TZWxlY3RQb3NpdGlvbmVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgaW5lcnRWYWx1ZSB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL2luZXJ0VmFsdWUnO1xuaW1wb3J0IHsgdXNlSXNvTGF5b3V0RWZmZWN0IH0gZnJvbSAnQGJhc2UtdWkvdXRpbHMvdXNlSXNvTGF5b3V0RWZmZWN0JztcbmltcG9ydCB7IHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSAnQGJhc2UtdWkvdXRpbHMvdXNlU3RhYmxlQ2FsbGJhY2snO1xuaW1wb3J0IHsgdXNlU3RvcmUgfSBmcm9tICdAYmFzZS11aS91dGlscy9zdG9yZSc7XG5pbXBvcnQgeyB1c2VTZWxlY3RSb290Q29udGV4dCwgdXNlU2VsZWN0RmxvYXRpbmdDb250ZXh0IH0gZnJvbSBcIi4uL3Jvb3QvU2VsZWN0Um9vdENvbnRleHQuanNcIjtcbmltcG9ydCB7IENvbXBvc2l0ZUxpc3QgfSBmcm9tIFwiLi4vLi4vaW50ZXJuYWxzL2NvbXBvc2l0ZS9saXN0L0NvbXBvc2l0ZUxpc3QuanNcIjtcbmltcG9ydCB7IHVzZUFuY2hvclBvc2l0aW9uaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3VzZUFuY2hvclBvc2l0aW9uaW5nLmpzXCI7XG5pbXBvcnQgeyBTZWxlY3RQb3NpdGlvbmVyQ29udGV4dCB9IGZyb20gXCIuL1NlbGVjdFBvc2l0aW9uZXJDb250ZXh0LmpzXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEJhY2tkcm9wIH0gZnJvbSBcIi4uLy4uL3V0aWxzL0ludGVybmFsQmFja2Ryb3AuanNcIjtcbmltcG9ydCB7IERST1BET1dOX0NPTExJU0lPTl9BVk9JREFOQ0UgfSBmcm9tIFwiLi4vLi4vaW50ZXJuYWxzL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgY2xlYXJTdHlsZXMgfSBmcm9tIFwiLi4vcG9wdXAvdXRpbHMuanNcIjtcbmltcG9ydCB7IHNlbGVjdG9ycyB9IGZyb20gXCIuLi9zdG9yZS5qc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ2hhbmdlRXZlbnREZXRhaWxzIH0gZnJvbSBcIi4uLy4uL2ludGVybmFscy9jcmVhdGVCYXNlVUlFdmVudERldGFpbHMuanNcIjtcbmltcG9ydCB7IFJFQVNPTlMgfSBmcm9tIFwiLi4vLi4vaW50ZXJuYWxzL3JlYXNvbnMuanNcIjtcbmltcG9ydCB7IGZpbmRJdGVtSW5kZXgsIHNlbGVjdGVkVmFsdWVJbmNsdWRlcyB9IGZyb20gXCIuLi8uLi9pbnRlcm5hbHMvaXRlbUVxdWFsaXR5LmpzXCI7XG5pbXBvcnQgeyB1c2VQb3NpdGlvbmVyIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3VzZVBvc2l0aW9uZXIuanNcIjtcbmltcG9ydCB7IHVzZUFuY2hvcmVkUG9wdXBTY3JvbGxMb2NrIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3VzZUFuY2hvcmVkUG9wdXBTY3JvbGxMb2NrLmpzXCI7XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuY29uc3QgRklYRUQgPSB7XG4gIHBvc2l0aW9uOiAnZml4ZWQnXG59O1xuXG4vKipcbiAqIFBvc2l0aW9ucyB0aGUgc2VsZWN0IHBvcHVwLlxuICogUmVuZGVycyBhIGA8ZGl2PmAgZWxlbWVudC5cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBbQmFzZSBVSSBTZWxlY3RdKGh0dHBzOi8vYmFzZS11aS5jb20vcmVhY3QvY29tcG9uZW50cy9zZWxlY3QpXG4gKi9cbmV4cG9ydCBjb25zdCBTZWxlY3RQb3NpdGlvbmVyID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gU2VsZWN0UG9zaXRpb25lcihjb21wb25lbnRQcm9wcywgZm9yd2FyZGVkUmVmKSB7XG4gIGNvbnN0IHtcbiAgICBhbmNob3IsXG4gICAgcG9zaXRpb25NZXRob2QgPSAnYWJzb2x1dGUnLFxuICAgIGNsYXNzTmFtZSxcbiAgICByZW5kZXIsXG4gICAgc2lkZSA9ICdib3R0b20nLFxuICAgIGFsaWduID0gJ2NlbnRlcicsXG4gICAgc2lkZU9mZnNldCA9IDAsXG4gICAgYWxpZ25PZmZzZXQgPSAwLFxuICAgIGNvbGxpc2lvbkJvdW5kYXJ5ID0gJ2NsaXBwaW5nLWFuY2VzdG9ycycsXG4gICAgY29sbGlzaW9uUGFkZGluZyxcbiAgICBhcnJvd1BhZGRpbmcgPSA1LFxuICAgIHN0aWNreSA9IGZhbHNlLFxuICAgIGRpc2FibGVBbmNob3JUcmFja2luZyxcbiAgICBhbGlnbkl0ZW1XaXRoVHJpZ2dlciA9IHRydWUsXG4gICAgY29sbGlzaW9uQXZvaWRhbmNlID0gRFJPUERPV05fQ09MTElTSU9OX0FWT0lEQU5DRSxcbiAgICBzdHlsZSxcbiAgICAuLi5lbGVtZW50UHJvcHNcbiAgfSA9IGNvbXBvbmVudFByb3BzO1xuICBjb25zdCB7XG4gICAgc3RvcmUsXG4gICAgbGlzdFJlZixcbiAgICBsYWJlbHNSZWYsXG4gICAgYWxpZ25JdGVtV2l0aFRyaWdnZXJBY3RpdmVSZWYsXG4gICAgc2VsZWN0ZWRJdGVtVGV4dFJlZixcbiAgICB2YWx1ZXNSZWYsXG4gICAgaW5pdGlhbFZhbHVlUmVmLFxuICAgIHBvcHVwUmVmLFxuICAgIHNldFZhbHVlXG4gIH0gPSB1c2VTZWxlY3RSb290Q29udGV4dCgpO1xuICBjb25zdCBmbG9hdGluZ1Jvb3RDb250ZXh0ID0gdXNlU2VsZWN0RmxvYXRpbmdDb250ZXh0KCk7XG4gIGNvbnN0IG9wZW4gPSB1c2VTdG9yZShzdG9yZSwgc2VsZWN0b3JzLm9wZW4pO1xuICBjb25zdCBtb3VudGVkID0gdXNlU3RvcmUoc3RvcmUsIHNlbGVjdG9ycy5tb3VudGVkKTtcbiAgY29uc3QgbW9kYWwgPSB1c2VTdG9yZShzdG9yZSwgc2VsZWN0b3JzLm1vZGFsKTtcbiAgY29uc3QgdmFsdWUgPSB1c2VTdG9yZShzdG9yZSwgc2VsZWN0b3JzLnZhbHVlKTtcbiAgY29uc3Qgb3Blbk1ldGhvZCA9IHVzZVN0b3JlKHN0b3JlLCBzZWxlY3RvcnMub3Blbk1ldGhvZCk7XG4gIGNvbnN0IHBvc2l0aW9uZXJFbGVtZW50ID0gdXNlU3RvcmUoc3RvcmUsIHNlbGVjdG9ycy5wb3NpdGlvbmVyRWxlbWVudCk7XG4gIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gdXNlU3RvcmUoc3RvcmUsIHNlbGVjdG9ycy50cmlnZ2VyRWxlbWVudCk7XG4gIGNvbnN0IGlzSXRlbUVxdWFsVG9WYWx1ZSA9IHVzZVN0b3JlKHN0b3JlLCBzZWxlY3RvcnMuaXNJdGVtRXF1YWxUb1ZhbHVlKTtcbiAgY29uc3QgdHJhbnNpdGlvblN0YXR1cyA9IHVzZVN0b3JlKHN0b3JlLCBzZWxlY3RvcnMudHJhbnNpdGlvblN0YXR1cyk7XG4gIGNvbnN0IHNjcm9sbFVwQXJyb3dSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IHNjcm9sbERvd25BcnJvd1JlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgW2NvbnRyb2xsZWRBbGlnbkl0ZW1XaXRoVHJpZ2dlciwgc2V0Q29udHJvbGxlZEFsaWduSXRlbVdpdGhUcmlnZ2VyXSA9IFJlYWN0LnVzZVN0YXRlKGFsaWduSXRlbVdpdGhUcmlnZ2VyKTtcbiAgY29uc3QgYWxpZ25JdGVtV2l0aFRyaWdnZXJBY3RpdmUgPSBtb3VudGVkICYmIGNvbnRyb2xsZWRBbGlnbkl0ZW1XaXRoVHJpZ2dlciAmJiBvcGVuTWV0aG9kICE9PSAndG91Y2gnO1xuICBpZiAoIW1vdW50ZWQgJiYgY29udHJvbGxlZEFsaWduSXRlbVdpdGhUcmlnZ2VyICE9PSBhbGlnbkl0ZW1XaXRoVHJpZ2dlcikge1xuICAgIHNldENvbnRyb2xsZWRBbGlnbkl0ZW1XaXRoVHJpZ2dlcihhbGlnbkl0ZW1XaXRoVHJpZ2dlcik7XG4gIH1cbiAgdXNlSXNvTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1vdW50ZWQpIHtcbiAgICAgIGlmIChzZWxlY3RvcnMuc2Nyb2xsVXBBcnJvd1Zpc2libGUoc3RvcmUuc3RhdGUpKSB7XG4gICAgICAgIHN0b3JlLnNldCgnc2Nyb2xsVXBBcnJvd1Zpc2libGUnLCBmYWxzZSk7XG4gICAgICB9XG4gICAgICBpZiAoc2VsZWN0b3JzLnNjcm9sbERvd25BcnJvd1Zpc2libGUoc3RvcmUuc3RhdGUpKSB7XG4gICAgICAgIHN0b3JlLnNldCgnc2Nyb2xsRG93bkFycm93VmlzaWJsZScsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtzdG9yZSwgbW91bnRlZF0pO1xuICBSZWFjdC51c2VJbXBlcmF0aXZlSGFuZGxlKGFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlUmVmLCAoKSA9PiBhbGlnbkl0ZW1XaXRoVHJpZ2dlckFjdGl2ZSk7XG4gIHVzZUFuY2hvcmVkUG9wdXBTY3JvbGxMb2NrKChhbGlnbkl0ZW1XaXRoVHJpZ2dlckFjdGl2ZSB8fCBtb2RhbCkgJiYgb3Blbiwgb3Blbk1ldGhvZCA9PT0gJ3RvdWNoJywgcG9zaXRpb25lckVsZW1lbnQsIHRyaWdnZXJFbGVtZW50KTtcbiAgY29uc3QgcG9zaXRpb25pbmcgPSB1c2VBbmNob3JQb3NpdGlvbmluZyh7XG4gICAgYW5jaG9yLFxuICAgIGZsb2F0aW5nUm9vdENvbnRleHQsXG4gICAgcG9zaXRpb25NZXRob2QsXG4gICAgbW91bnRlZCxcbiAgICBzaWRlLFxuICAgIHNpZGVPZmZzZXQsXG4gICAgYWxpZ24sXG4gICAgYWxpZ25PZmZzZXQsXG4gICAgYXJyb3dQYWRkaW5nLFxuICAgIGNvbGxpc2lvbkJvdW5kYXJ5LFxuICAgIGNvbGxpc2lvblBhZGRpbmcsXG4gICAgc3RpY2t5LFxuICAgIGRpc2FibGVBbmNob3JUcmFja2luZzogZGlzYWJsZUFuY2hvclRyYWNraW5nID8/IGFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlLFxuICAgIGNvbGxpc2lvbkF2b2lkYW5jZSxcbiAgICBrZWVwTW91bnRlZDogdHJ1ZVxuICB9KTtcbiAgY29uc3QgcmVuZGVyZWRTaWRlID0gYWxpZ25JdGVtV2l0aFRyaWdnZXJBY3RpdmUgPyAnbm9uZScgOiBwb3NpdGlvbmluZy5zaWRlO1xuICBjb25zdCBwb3NpdGlvbmVyU3R5bGVzID0gYWxpZ25JdGVtV2l0aFRyaWdnZXJBY3RpdmUgPyBGSVhFRCA6IHBvc2l0aW9uaW5nLnBvc2l0aW9uZXJTdHlsZXM7XG4gIGNvbnN0IHN0YXRlID0ge1xuICAgIG9wZW4sXG4gICAgc2lkZTogcmVuZGVyZWRTaWRlLFxuICAgIGFsaWduOiBwb3NpdGlvbmluZy5hbGlnbixcbiAgICBhbmNob3JIaWRkZW46IHBvc2l0aW9uaW5nLmFuY2hvckhpZGRlblxuICB9O1xuICBjb25zdCBzZXRQb3NpdGlvbmVyRWxlbWVudCA9IHVzZVN0YWJsZUNhbGxiYWNrKGVsZW1lbnQgPT4ge1xuICAgIHN0b3JlLnNldCgncG9zaXRpb25lckVsZW1lbnQnLCBlbGVtZW50KTtcbiAgfSk7XG4gIGNvbnN0IGVsZW1lbnQgPSB1c2VQb3NpdGlvbmVyKGNvbXBvbmVudFByb3BzLCBzdGF0ZSwge1xuICAgIHN0eWxlczogcG9zaXRpb25lclN0eWxlcyxcbiAgICB0cmFuc2l0aW9uU3RhdHVzLFxuICAgIHByb3BzOiBlbGVtZW50UHJvcHMsXG4gICAgcmVmczogW2ZvcndhcmRlZFJlZiwgc2V0UG9zaXRpb25lckVsZW1lbnRdLFxuICAgIGhpZGRlbjogIW1vdW50ZWQsXG4gICAgaW5lcnQ6ICFvcGVuXG4gIH0pO1xuICBjb25zdCBwcmV2TWFwU2l6ZVJlZiA9IFJlYWN0LnVzZVJlZigwKTtcbiAgY29uc3Qgb25NYXBDaGFuZ2UgPSB1c2VTdGFibGVDYWxsYmFjayhtYXAgPT4ge1xuICAgIGlmIChtYXAuc2l6ZSA9PT0gMCAmJiBwcmV2TWFwU2l6ZVJlZi5jdXJyZW50ID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWx1ZXNSZWYuY3VycmVudC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcHJldlNpemUgPSBwcmV2TWFwU2l6ZVJlZi5jdXJyZW50O1xuICAgIHByZXZNYXBTaXplUmVmLmN1cnJlbnQgPSBtYXAuc2l6ZTtcbiAgICBpZiAobWFwLnNpemUgPT09IHByZXZTaXplKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGV2ZW50RGV0YWlscyA9IGNyZWF0ZUNoYW5nZUV2ZW50RGV0YWlscyhSRUFTT05TLm5vbmUpO1xuICAgIGlmIChwcmV2U2l6ZSAhPT0gMCAmJiAhc3RvcmUuc3RhdGUubXVsdGlwbGUgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkVmFsdWVJbmRleCA9IGZpbmRJdGVtSW5kZXgodmFsdWVzUmVmLmN1cnJlbnQsIHZhbHVlLCBpc0l0ZW1FcXVhbFRvVmFsdWUpO1xuICAgICAgaWYgKHNlbGVjdGVkVmFsdWVJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgY29uc3QgaW5pdGlhbFNlbGVjdGVkVmFsdWUgPSBpbml0aWFsVmFsdWVSZWYuY3VycmVudDtcbiAgICAgICAgY29uc3QgaGFzSW5pdGlhbCA9IGluaXRpYWxTZWxlY3RlZFZhbHVlICE9IG51bGwgJiYgZmluZEl0ZW1JbmRleCh2YWx1ZXNSZWYuY3VycmVudCwgaW5pdGlhbFNlbGVjdGVkVmFsdWUsIGlzSXRlbUVxdWFsVG9WYWx1ZSkgIT09IC0xO1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSBoYXNJbml0aWFsID8gaW5pdGlhbFNlbGVjdGVkVmFsdWUgOiBudWxsO1xuICAgICAgICBzZXRWYWx1ZShuZXh0VmFsdWUsIGV2ZW50RGV0YWlscyk7XG4gICAgICAgIGlmIChuZXh0VmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICBzdG9yZS5zZXQoJ3NlbGVjdGVkSW5kZXgnLCBudWxsKTtcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1UZXh0UmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcmV2U2l6ZSAhPT0gMCAmJiBzdG9yZS5zdGF0ZS5tdWx0aXBsZSAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgY29uc3QgaGFzVmlzaWJsZUl0ZW0gPSBzZWxlY3RlZEl0ZW1WYWx1ZSA9PiBmaW5kSXRlbUluZGV4KHZhbHVlc1JlZi5jdXJyZW50LCBzZWxlY3RlZEl0ZW1WYWx1ZSwgaXNJdGVtRXF1YWxUb1ZhbHVlKSAhPT0gLTE7XG4gICAgICBjb25zdCBuZXh0VmFsdWUgPSB2YWx1ZS5maWx0ZXIoc2VsZWN0ZWRJdGVtVmFsdWUgPT4gaGFzVmlzaWJsZUl0ZW0oc2VsZWN0ZWRJdGVtVmFsdWUpKTtcbiAgICAgIGlmIChuZXh0VmFsdWUubGVuZ3RoICE9PSB2YWx1ZS5sZW5ndGggfHwgbmV4dFZhbHVlLnNvbWUoc2VsZWN0ZWRJdGVtVmFsdWUgPT4gIXNlbGVjdGVkVmFsdWVJbmNsdWRlcyh2YWx1ZSwgc2VsZWN0ZWRJdGVtVmFsdWUsIGlzSXRlbUVxdWFsVG9WYWx1ZSkpKSB7XG4gICAgICAgIHNldFZhbHVlKG5leHRWYWx1ZSwgZXZlbnREZXRhaWxzKTtcbiAgICAgICAgaWYgKG5leHRWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBzdG9yZS5zZXQoJ3NlbGVjdGVkSW5kZXgnLCBudWxsKTtcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1UZXh0UmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChvcGVuICYmIGFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlKSB7XG4gICAgICBzdG9yZS51cGRhdGUoe1xuICAgICAgICBzY3JvbGxVcEFycm93VmlzaWJsZTogZmFsc2UsXG4gICAgICAgIHNjcm9sbERvd25BcnJvd1Zpc2libGU6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHN0eWxlc1RvQ2xlYXIgPSB7XG4gICAgICAgIGhlaWdodDogJydcbiAgICAgIH07XG4gICAgICBjbGVhclN0eWxlcyhwb3NpdGlvbmVyRWxlbWVudCwgc3R5bGVzVG9DbGVhcik7XG4gICAgICBjbGVhclN0eWxlcyhwb3B1cFJlZi5jdXJyZW50LCBzdHlsZXNUb0NsZWFyKTtcbiAgICB9XG4gIH0pO1xuICBjb25zdCBjb250ZXh0VmFsdWUgPSBSZWFjdC51c2VNZW1vKCgpID0+ICh7XG4gICAgLi4ucG9zaXRpb25pbmcsXG4gICAgc2lkZTogcmVuZGVyZWRTaWRlLFxuICAgIGFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlLFxuICAgIHNldENvbnRyb2xsZWRBbGlnbkl0ZW1XaXRoVHJpZ2dlcixcbiAgICBzY3JvbGxVcEFycm93UmVmLFxuICAgIHNjcm9sbERvd25BcnJvd1JlZlxuICB9KSwgW3Bvc2l0aW9uaW5nLCByZW5kZXJlZFNpZGUsIGFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlLCBzZXRDb250cm9sbGVkQWxpZ25JdGVtV2l0aFRyaWdnZXJdKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9fanN4KENvbXBvc2l0ZUxpc3QsIHtcbiAgICBlbGVtZW50c1JlZjogbGlzdFJlZixcbiAgICBsYWJlbHNSZWY6IGxhYmVsc1JlZixcbiAgICBvbk1hcENoYW5nZTogb25NYXBDaGFuZ2UsXG4gICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi9fanN4cyhTZWxlY3RQb3NpdGlvbmVyQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgdmFsdWU6IGNvbnRleHRWYWx1ZSxcbiAgICAgIGNoaWxkcmVuOiBbbW91bnRlZCAmJiBtb2RhbCAmJiAvKiNfX1BVUkVfXyovX2pzeChJbnRlcm5hbEJhY2tkcm9wLCB7XG4gICAgICAgIGluZXJ0OiBpbmVydFZhbHVlKCFvcGVuKSxcbiAgICAgICAgY3V0b3V0OiB0cmlnZ2VyRWxlbWVudFxuICAgICAgfSksIGVsZW1lbnRdXG4gICAgfSlcbiAgfSk7XG59KTtcbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIFNlbGVjdFBvc2l0aW9uZXIuZGlzcGxheU5hbWUgPSBcIlNlbGVjdFBvc2l0aW9uZXJcIjsiXSwibmFtZXMiOlsiUmVhY3QiLCJpbmVydFZhbHVlIiwidXNlSXNvTGF5b3V0RWZmZWN0IiwidXNlU3RhYmxlQ2FsbGJhY2siLCJ1c2VTdG9yZSIsInVzZVNlbGVjdFJvb3RDb250ZXh0IiwidXNlU2VsZWN0RmxvYXRpbmdDb250ZXh0IiwiQ29tcG9zaXRlTGlzdCIsInVzZUFuY2hvclBvc2l0aW9uaW5nIiwiU2VsZWN0UG9zaXRpb25lckNvbnRleHQiLCJJbnRlcm5hbEJhY2tkcm9wIiwiRFJPUERPV05fQ09MTElTSU9OX0FWT0lEQU5DRSIsImNsZWFyU3R5bGVzIiwic2VsZWN0b3JzIiwiY3JlYXRlQ2hhbmdlRXZlbnREZXRhaWxzIiwiUkVBU09OUyIsImZpbmRJdGVtSW5kZXgiLCJzZWxlY3RlZFZhbHVlSW5jbHVkZXMiLCJ1c2VQb3NpdGlvbmVyIiwidXNlQW5jaG9yZWRQb3B1cFNjcm9sbExvY2siLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRklYRUQiLCJwb3NpdGlvbiIsIlNlbGVjdFBvc2l0aW9uZXIiLCJmb3J3YXJkUmVmIiwiY29tcG9uZW50UHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJhbmNob3IiLCJwb3NpdGlvbk1ldGhvZCIsImNsYXNzTmFtZSIsInJlbmRlciIsInNpZGUiLCJhbGlnbiIsInNpZGVPZmZzZXQiLCJhbGlnbk9mZnNldCIsImNvbGxpc2lvbkJvdW5kYXJ5IiwiY29sbGlzaW9uUGFkZGluZyIsImFycm93UGFkZGluZyIsInN0aWNreSIsImRpc2FibGVBbmNob3JUcmFja2luZyIsImFsaWduSXRlbVdpdGhUcmlnZ2VyIiwiY29sbGlzaW9uQXZvaWRhbmNlIiwic3R5bGUiLCJlbGVtZW50UHJvcHMiLCJzdG9yZSIsImxpc3RSZWYiLCJsYWJlbHNSZWYiLCJhbGlnbkl0ZW1XaXRoVHJpZ2dlckFjdGl2ZVJlZiIsInNlbGVjdGVkSXRlbVRleHRSZWYiLCJ2YWx1ZXNSZWYiLCJpbml0aWFsVmFsdWVSZWYiLCJwb3B1cFJlZiIsInNldFZhbHVlIiwiZmxvYXRpbmdSb290Q29udGV4dCIsIm9wZW4iLCJtb3VudGVkIiwibW9kYWwiLCJ2YWx1ZSIsIm9wZW5NZXRob2QiLCJwb3NpdGlvbmVyRWxlbWVudCIsInRyaWdnZXJFbGVtZW50IiwiaXNJdGVtRXF1YWxUb1ZhbHVlIiwidHJhbnNpdGlvblN0YXR1cyIsInNjcm9sbFVwQXJyb3dSZWYiLCJ1c2VSZWYiLCJzY3JvbGxEb3duQXJyb3dSZWYiLCJjb250cm9sbGVkQWxpZ25JdGVtV2l0aFRyaWdnZXIiLCJzZXRDb250cm9sbGVkQWxpZ25JdGVtV2l0aFRyaWdnZXIiLCJ1c2VTdGF0ZSIsImFsaWduSXRlbVdpdGhUcmlnZ2VyQWN0aXZlIiwic2Nyb2xsVXBBcnJvd1Zpc2libGUiLCJzdGF0ZSIsInNldCIsInNjcm9sbERvd25BcnJvd1Zpc2libGUiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwicG9zaXRpb25pbmciLCJrZWVwTW91bnRlZCIsInJlbmRlcmVkU2lkZSIsInBvc2l0aW9uZXJTdHlsZXMiLCJhbmNob3JIaWRkZW4iLCJzZXRQb3NpdGlvbmVyRWxlbWVudCIsImVsZW1lbnQiLCJzdHlsZXMiLCJwcm9wcyIsInJlZnMiLCJoaWRkZW4iLCJpbmVydCIsInByZXZNYXBTaXplUmVmIiwib25NYXBDaGFuZ2UiLCJtYXAiLCJzaXplIiwiY3VycmVudCIsImxlbmd0aCIsInByZXZTaXplIiwiZXZlbnREZXRhaWxzIiwibm9uZSIsIm11bHRpcGxlIiwic2VsZWN0ZWRWYWx1ZUluZGV4IiwiaW5pdGlhbFNlbGVjdGVkVmFsdWUiLCJoYXNJbml0aWFsIiwibmV4dFZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwiaGFzVmlzaWJsZUl0ZW0iLCJzZWxlY3RlZEl0ZW1WYWx1ZSIsImZpbHRlciIsInNvbWUiLCJ1cGRhdGUiLCJzdHlsZXNUb0NsZWFyIiwiaGVpZ2h0IiwiY29udGV4dFZhbHVlIiwidXNlTWVtbyIsImVsZW1lbnRzUmVmIiwiY2hpbGRyZW4iLCJQcm92aWRlciIsImN1dG91dCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/positioner/SelectPositioner.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/positioner/SelectPositionerContext.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/positioner/SelectPositionerContext.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectPositionerContext: () => (/* binding */ SelectPositionerContext),\n/* harmony export */ useSelectPositionerContext: () => (/* binding */ useSelectPositionerContext)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* __next_internal_client_entry_do_not_use__ SelectPositionerContext,useSelectPositionerContext auto */ \n\nconst SelectPositionerContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createContext(undefined);\nif (true) SelectPositionerContext.displayName = \"SelectPositionerContext\";\nfunction useSelectPositionerContext() {\n const context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(SelectPositionerContext);\n if (!context) {\n throw new Error( true ? 'Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within
.' : 0);\n }\n return context;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9wb3NpdGlvbmVyL1NlbGVjdFBvc2l0aW9uZXJDb250ZXh0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozt3R0FFb0U7QUFDckM7QUFDeEIsTUFBTUUsMEJBQTBCLFdBQVcsR0FBRUQsZ0RBQW1CLENBQUNHLFdBQVc7QUFDbkYsSUFBSUMsSUFBcUMsRUFBRUgsd0JBQXdCSSxXQUFXLEdBQUc7QUFDMUUsU0FBU0M7SUFDZCxNQUFNQyxVQUFVUCw2Q0FBZ0IsQ0FBQ0M7SUFDakMsSUFBSSxDQUFDTSxTQUFTO1FBQ1osTUFBTSxJQUFJRSxNQUFNTCxLQUFxQyxHQUFHLG1IQUFtSEwsQ0FBdUI7SUFDcE07SUFDQSxPQUFPUTtBQUNUIiwic291cmNlcyI6WyIvaG9tZS9zaWx2aW8vRGV2ZWxvcC9DSVJVWC1BUFAvbm9kZV9tb2R1bGVzL0BiYXNlLXVpL3JlYWN0L2VzbS9zZWxlY3QvcG9zaXRpb25lci9TZWxlY3RQb3NpdGlvbmVyQ29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5cbmltcG9ydCBfZm9ybWF0RXJyb3JNZXNzYWdlIGZyb20gXCJAYmFzZS11aS91dGlscy9mb3JtYXRFcnJvck1lc3NhZ2VcIjtcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmV4cG9ydCBjb25zdCBTZWxlY3RQb3NpdGlvbmVyQ29udGV4dCA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVDb250ZXh0KHVuZGVmaW5lZCk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSBTZWxlY3RQb3NpdGlvbmVyQ29udGV4dC5kaXNwbGF5TmFtZSA9IFwiU2VsZWN0UG9zaXRpb25lckNvbnRleHRcIjtcbmV4cG9ydCBmdW5jdGlvbiB1c2VTZWxlY3RQb3NpdGlvbmVyQ29udGV4dCgpIHtcbiAgY29uc3QgY29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoU2VsZWN0UG9zaXRpb25lckNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gJ0Jhc2UgVUk6IFNlbGVjdFBvc2l0aW9uZXJDb250ZXh0IGlzIG1pc3NpbmcuIFNlbGVjdFBvc2l0aW9uZXIgcGFydHMgbXVzdCBiZSBwbGFjZWQgd2l0aGluIDxTZWxlY3QuUG9zaXRpb25lcj4uJyA6IF9mb3JtYXRFcnJvck1lc3NhZ2UoNTkpKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn0iXSwibmFtZXMiOlsiX2Zvcm1hdEVycm9yTWVzc2FnZSIsIlJlYWN0IiwiU2VsZWN0UG9zaXRpb25lckNvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwidW5kZWZpbmVkIiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIiwidXNlU2VsZWN0UG9zaXRpb25lckNvbnRleHQiLCJjb250ZXh0IiwidXNlQ29udGV4dCIsIkVycm9yIl0sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/positioner/SelectPositionerContext.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/root/SelectRoot.js":
/*!*******************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/root/SelectRoot.js ***!
\*******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectRoot: () => (/* binding */ SelectRoot)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _base_ui_utils_visuallyHidden__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! @base-ui/utils/visuallyHidden */ \"(ssr)/./node_modules/@base-ui/utils/esm/visuallyHidden.js\");\n/* harmony import */ var _base_ui_utils_useMergedRefs__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! @base-ui/utils/useMergedRefs */ \"(ssr)/./node_modules/@base-ui/utils/esm/useMergedRefs.js\");\n/* harmony import */ var _base_ui_utils_useRefWithInit__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @base-ui/utils/useRefWithInit */ \"(ssr)/./node_modules/@base-ui/utils/esm/useRefWithInit.js\");\n/* harmony import */ var _base_ui_utils_useOnFirstRender__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! @base-ui/utils/useOnFirstRender */ \"(ssr)/./node_modules/@base-ui/utils/esm/useOnFirstRender.js\");\n/* harmony import */ var _base_ui_utils_usePreviousValue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @base-ui/utils/usePreviousValue */ \"(ssr)/./node_modules/@base-ui/utils/esm/usePreviousValue.js\");\n/* harmony import */ var _base_ui_utils_useControlled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @base-ui/utils/useControlled */ \"(ssr)/./node_modules/@base-ui/utils/esm/useControlled.js\");\n/* harmony import */ var _base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @base-ui/utils/useIsoLayoutEffect */ \"(ssr)/./node_modules/@base-ui/utils/esm/useIsoLayoutEffect.js\");\n/* harmony import */ var _base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @base-ui/utils/useStableCallback */ \"(ssr)/./node_modules/@base-ui/utils/esm/useStableCallback.js\");\n/* harmony import */ var _base_ui_utils_useValueAsRef__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @base-ui/utils/useValueAsRef */ \"(ssr)/./node_modules/@base-ui/utils/esm/useValueAsRef.js\");\n/* harmony import */ var _base_ui_utils_store__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @base-ui/utils/store */ \"(ssr)/./node_modules/@base-ui/utils/esm/store/Store.js\");\n/* harmony import */ var _base_ui_utils_store__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @base-ui/utils/store */ \"(ssr)/./node_modules/@base-ui/utils/esm/store/useStore.js\");\n/* harmony import */ var _base_ui_utils_empty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @base-ui/utils/empty */ \"(ssr)/./node_modules/@base-ui/utils/esm/empty.js\");\n/* harmony import */ var _floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../floating-ui-react/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFloatingRootContext.js\");\n/* harmony import */ var _floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../floating-ui-react/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/floating-ui-react/hooks/useClick.js\");\n/* harmony import */ var _floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../floating-ui-react/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/floating-ui-react/hooks/useDismiss.js\");\n/* harmony import */ var _floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../floating-ui-react/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/floating-ui-react/hooks/useListNavigation.js\");\n/* harmony import */ var _floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../floating-ui-react/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/floating-ui-react/hooks/useTypeahead.js\");\n/* harmony import */ var _floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../floating-ui-react/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/floating-ui-react/hooks/useInteractions.js\");\n/* harmony import */ var _SelectRootContext_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./SelectRootContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/root/SelectRootContext.js\");\n/* harmony import */ var _internals_field_root_context_FieldRootContext_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../internals/field-root-context/FieldRootContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/field-root-context/FieldRootContext.js\");\n/* harmony import */ var _internals_field_register_control_useRegisterFieldControl_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../internals/field-register-control/useRegisterFieldControl.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/field-register-control/useRegisterFieldControl.js\");\n/* harmony import */ var _internals_labelable_provider_useLabelableId_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../internals/labelable-provider/useLabelableId.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/labelable-provider/useLabelableId.js\");\n/* harmony import */ var _internals_useTransitionStatus_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../internals/useTransitionStatus.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/useTransitionStatus.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../store.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/store.js\");\n/* harmony import */ var _internals_createBaseUIEventDetails_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../internals/createBaseUIEventDetails.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/createBaseUIEventDetails.js\");\n/* harmony import */ var _internals_reasons_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../internals/reasons.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/reason-parts.js\");\n/* harmony import */ var _internals_useOpenChangeComplete_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../internals/useOpenChangeComplete.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/useOpenChangeComplete.js\");\n/* harmony import */ var _internals_form_context_FormContext_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../internals/form-context/FormContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/form-context/FormContext.js\");\n/* harmony import */ var _internals_resolveValueLabel_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../internals/resolveValueLabel.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/resolveValueLabel.js\");\n/* harmony import */ var _internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../internals/itemEquality.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/itemEquality.js\");\n/* harmony import */ var _internals_useValueChanged_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../internals/useValueChanged.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/useValueChanged.js\");\n/* harmony import */ var _utils_useOpenInteractionType_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/useOpenInteractionType.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/useOpenInteractionType.js\");\n/* harmony import */ var _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../utils/scrollEdges.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/scrollEdges.js\");\n/* harmony import */ var _merge_props_index_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../merge-props/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/merge-props/mergeProps.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ SelectRoot auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Groups all parts of the select.\n * Doesn't render its own HTML element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */ \nfunction SelectRoot(props) {\n const { id, value: valueProp, defaultValue = null, onValueChange, open: openProp, defaultOpen = false, onOpenChange, name: nameProp, form, autoComplete, disabled: disabledProp = false, readOnly = false, required = false, modal = true, actionsRef, inputRef, onOpenChangeComplete, items, multiple = false, itemToStringLabel, itemToStringValue, isItemEqualToValue = _internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_2__.defaultItemEquality, highlightItemOnHover = true, children } = props;\n const { clearErrors } = (0,_internals_form_context_FormContext_js__WEBPACK_IMPORTED_MODULE_3__.useFormContext)();\n const { setDirty, setTouched, setFocused, shouldValidateOnChange, validityData, setFilled, name: fieldName, disabled: fieldDisabled, validation, validationMode } = (0,_internals_field_root_context_FieldRootContext_js__WEBPACK_IMPORTED_MODULE_4__.useFieldRootContext)();\n const generatedId = (0,_internals_labelable_provider_useLabelableId_js__WEBPACK_IMPORTED_MODULE_5__.useLabelableId)({\n id\n });\n const disabled = fieldDisabled || disabledProp;\n const name = fieldName ?? nameProp;\n const [value, setValueUnwrapped] = (0,_base_ui_utils_useControlled__WEBPACK_IMPORTED_MODULE_6__.useControlled)({\n controlled: valueProp,\n default: multiple ? defaultValue ?? _base_ui_utils_empty__WEBPACK_IMPORTED_MODULE_7__.EMPTY_ARRAY : defaultValue,\n name: 'Select',\n state: 'value'\n });\n const [open, setOpenUnwrapped] = (0,_base_ui_utils_useControlled__WEBPACK_IMPORTED_MODULE_6__.useControlled)({\n controlled: openProp,\n default: defaultOpen,\n name: 'Select',\n state: 'open'\n });\n const listRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef([]);\n const labelsRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef([]);\n const popupRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const scrollHandlerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const scrollArrowsMountedCountRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const valueRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const valuesRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef([]);\n const typingRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const keyboardActiveRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const selectedItemTextRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const selectionRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef({\n allowSelectedMouseUp: false,\n allowUnselectedMouseUp: false\n });\n const alignItemWithTriggerActiveRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const { mounted, setMounted, transitionStatus } = (0,_internals_useTransitionStatus_js__WEBPACK_IMPORTED_MODULE_8__.useTransitionStatus)(open);\n const { openMethod, triggerProps: interactionTypeProps } = (0,_utils_useOpenInteractionType_js__WEBPACK_IMPORTED_MODULE_9__.useOpenInteractionType)(open);\n const store = (0,_base_ui_utils_useRefWithInit__WEBPACK_IMPORTED_MODULE_10__.useRefWithInit)({\n \"SelectRoot.useRefWithInit\": ()=>new _base_ui_utils_store__WEBPACK_IMPORTED_MODULE_11__.Store({\n id: generatedId,\n labelId: undefined,\n modal,\n multiple,\n itemToStringLabel,\n itemToStringValue,\n isItemEqualToValue,\n value,\n open,\n mounted,\n transitionStatus,\n items,\n forceMount: false,\n openMethod: null,\n activeIndex: null,\n selectedIndex: null,\n popupProps: {},\n triggerProps: {},\n triggerElement: null,\n positionerElement: null,\n listElement: null,\n scrollUpArrowVisible: false,\n scrollDownArrowVisible: false,\n hasScrollArrows: false\n })\n }[\"SelectRoot.useRefWithInit\"]).current;\n const activeIndex = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_12__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_13__.selectors.activeIndex);\n const selectedIndex = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_12__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_13__.selectors.selectedIndex);\n const triggerElement = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_12__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_13__.selectors.triggerElement);\n const positionerElement = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_12__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_13__.selectors.positionerElement);\n const previousOpenMethod = (0,_base_ui_utils_usePreviousValue__WEBPACK_IMPORTED_MODULE_14__.usePreviousValue)(openMethod);\n const renderedOpenMethod = openMethod ?? previousOpenMethod;\n const serializedValue = react__WEBPACK_IMPORTED_MODULE_0__.useMemo({\n \"SelectRoot.useMemo[serializedValue]\": ()=>{\n if (multiple && Array.isArray(value) && value.length === 0) {\n return '';\n }\n return (0,_internals_resolveValueLabel_js__WEBPACK_IMPORTED_MODULE_15__.stringifyAsValue)(value, itemToStringValue);\n }\n }[\"SelectRoot.useMemo[serializedValue]\"], [\n multiple,\n value,\n itemToStringValue\n ]);\n const fieldStringValue = react__WEBPACK_IMPORTED_MODULE_0__.useMemo({\n \"SelectRoot.useMemo[fieldStringValue]\": ()=>{\n if (multiple && Array.isArray(value)) {\n return value.map({\n \"SelectRoot.useMemo[fieldStringValue]\": (currentValue)=>(0,_internals_resolveValueLabel_js__WEBPACK_IMPORTED_MODULE_15__.stringifyAsValue)(currentValue, itemToStringValue)\n }[\"SelectRoot.useMemo[fieldStringValue]\"]);\n }\n return (0,_internals_resolveValueLabel_js__WEBPACK_IMPORTED_MODULE_15__.stringifyAsValue)(value, itemToStringValue);\n }\n }[\"SelectRoot.useMemo[fieldStringValue]\"], [\n multiple,\n value,\n itemToStringValue\n ]);\n const controlRef = (0,_base_ui_utils_useValueAsRef__WEBPACK_IMPORTED_MODULE_16__.useValueAsRef)(store.state.triggerElement);\n const getFieldValue = (0,_base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_17__.useStableCallback)({\n \"SelectRoot.useStableCallback[getFieldValue]\": ()=>fieldStringValue\n }[\"SelectRoot.useStableCallback[getFieldValue]\"]);\n (0,_internals_field_register_control_useRegisterFieldControl_js__WEBPACK_IMPORTED_MODULE_18__.useRegisterFieldControl)(controlRef, {\n id: generatedId,\n value,\n getValue: getFieldValue\n });\n const initialValueRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(value);\n (0,_base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_19__.useIsoLayoutEffect)({\n \"SelectRoot.useIsoLayoutEffect\": ()=>{\n // Ensure the values and labels are registered for programmatic value changes.\n if (value !== initialValueRef.current) {\n store.set('forceMount', true);\n }\n }\n }[\"SelectRoot.useIsoLayoutEffect\"], [\n store,\n value\n ]);\n (0,_base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_19__.useIsoLayoutEffect)({\n \"SelectRoot.useIsoLayoutEffect\": ()=>{\n setFilled(multiple ? Array.isArray(value) && value.length > 0 : value != null);\n }\n }[\"SelectRoot.useIsoLayoutEffect\"], [\n multiple,\n value,\n setFilled\n ]);\n (0,_base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_19__.useIsoLayoutEffect)(function syncSelectedIndex() {\n if (open) {\n return;\n }\n const registry = valuesRef.current;\n if (multiple) {\n const currentValue = Array.isArray(value) ? value : [];\n if (currentValue.length === 0) {\n store.set('selectedIndex', null);\n return;\n }\n const lastValue = currentValue[currentValue.length - 1];\n const lastIndex = (0,_internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_2__.findItemIndex)(registry, lastValue, isItemEqualToValue);\n store.set('selectedIndex', lastIndex === -1 ? null : lastIndex);\n return;\n }\n const index = (0,_internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_2__.findItemIndex)(registry, value, isItemEqualToValue);\n store.set('selectedIndex', index === -1 ? null : index);\n }, [\n multiple,\n open,\n value,\n valuesRef,\n isItemEqualToValue,\n store\n ]);\n (0,_internals_useValueChanged_js__WEBPACK_IMPORTED_MODULE_20__.useValueChanged)(value, {\n \"SelectRoot.useValueChanged\": ()=>{\n clearErrors(name);\n setDirty(value !== validityData.initialValue);\n if (shouldValidateOnChange()) {\n validation.commit(value);\n } else {\n validation.commit(value, true);\n }\n }\n }[\"SelectRoot.useValueChanged\"]);\n const setOpen = (0,_base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_17__.useStableCallback)({\n \"SelectRoot.useStableCallback[setOpen]\": (nextOpen, eventDetails)=>{\n onOpenChange?.(nextOpen, eventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n setOpenUnwrapped(nextOpen);\n if (!nextOpen && (eventDetails.reason === _internals_reasons_js__WEBPACK_IMPORTED_MODULE_21__.focusOut || eventDetails.reason === _internals_reasons_js__WEBPACK_IMPORTED_MODULE_21__.outsidePress)) {\n setTouched(true);\n setFocused(false);\n if (validationMode === 'onBlur') {\n validation.commit(value);\n }\n }\n // The active index will sync to the last selected index on the next open.\n // Workaround `enableFocusInside` in Floating UI setting `tabindex=0` of a non-highlighted\n // option upon close when tabbing out due to `keepMounted=true`:\n // https://github.com/floating-ui/floating-ui/pull/3004/files#diff-962a7439cdeb09ea98d4b622a45d517bce07ad8c3f866e089bda05f4b0bbd875R194-R199\n // This otherwise causes options to retain `tabindex=0` incorrectly when the popup is closed\n // when tabbing outside.\n if (!nextOpen && store.state.activeIndex !== null) {\n const activeOption = listRef.current[store.state.activeIndex];\n // Wait for Floating UI's focus effect to have fired\n queueMicrotask({\n \"SelectRoot.useStableCallback[setOpen]\": ()=>{\n activeOption?.setAttribute('tabindex', '-1');\n }\n }[\"SelectRoot.useStableCallback[setOpen]\"]);\n }\n }\n }[\"SelectRoot.useStableCallback[setOpen]\"]);\n const handleUnmount = (0,_base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_17__.useStableCallback)({\n \"SelectRoot.useStableCallback[handleUnmount]\": ()=>{\n setMounted(false);\n store.update({\n activeIndex: null,\n openMethod: null\n });\n onOpenChangeComplete?.(false);\n }\n }[\"SelectRoot.useStableCallback[handleUnmount]\"]);\n (0,_internals_useOpenChangeComplete_js__WEBPACK_IMPORTED_MODULE_22__.useOpenChangeComplete)({\n enabled: !actionsRef,\n open,\n ref: popupRef,\n onComplete () {\n if (!open) {\n handleUnmount();\n }\n }\n });\n react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(actionsRef, {\n \"SelectRoot.useImperativeHandle\": ()=>({\n unmount: handleUnmount\n })\n }[\"SelectRoot.useImperativeHandle\"], [\n handleUnmount\n ]);\n const setValue = (0,_base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_17__.useStableCallback)({\n \"SelectRoot.useStableCallback[setValue]\": (nextValue, eventDetails)=>{\n onValueChange?.(nextValue, eventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n setValueUnwrapped(nextValue);\n }\n }[\"SelectRoot.useStableCallback[setValue]\"]);\n const handleScrollArrowVisibility = (0,_base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_17__.useStableCallback)({\n \"SelectRoot.useStableCallback[handleScrollArrowVisibility]\": ()=>{\n const scroller = store.state.listElement || popupRef.current;\n if (!scroller) {\n return;\n }\n const maxScrollTop = (0,_utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_23__.getMaxScrollOffset)(scroller.scrollHeight, scroller.clientHeight);\n const scrollTop = (0,_utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_23__.normalizeScrollOffset)(scroller.scrollTop, maxScrollTop);\n const shouldShowUp = scrollTop > 0;\n const shouldShowDown = scrollTop < maxScrollTop;\n if (store.state.scrollUpArrowVisible !== shouldShowUp) {\n store.set('scrollUpArrowVisible', shouldShowUp);\n }\n if (store.state.scrollDownArrowVisible !== shouldShowDown) {\n store.set('scrollDownArrowVisible', shouldShowDown);\n }\n }\n }[\"SelectRoot.useStableCallback[handleScrollArrowVisibility]\"]);\n const floatingContext = (0,_floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_24__.useFloatingRootContext)({\n open,\n onOpenChange: setOpen,\n elements: {\n reference: triggerElement,\n floating: positionerElement\n }\n });\n const click = (0,_floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_25__.useClick)(floatingContext, {\n enabled: !readOnly && !disabled,\n event: 'mousedown'\n });\n const dismiss = (0,_floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_26__.useDismiss)(floatingContext, {\n bubbles: false\n });\n const listNavigation = (0,_floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_27__.useListNavigation)(floatingContext, {\n enabled: !readOnly && !disabled,\n listRef,\n activeIndex,\n selectedIndex,\n disabledIndices: _base_ui_utils_empty__WEBPACK_IMPORTED_MODULE_7__.EMPTY_ARRAY,\n onNavigate (nextActiveIndex) {\n // Retain the highlight while transitioning out.\n if (nextActiveIndex === null && !open) {\n return;\n }\n store.set('activeIndex', nextActiveIndex);\n },\n focusItemOnHover: highlightItemOnHover\n });\n const typeahead = (0,_floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_28__.useTypeahead)(floatingContext, {\n enabled: !readOnly && !disabled && (open || !multiple),\n listRef: labelsRef,\n activeIndex,\n selectedIndex,\n onMatch (index) {\n if (open) {\n store.set('activeIndex', index);\n } else {\n setValue(valuesRef.current[index], (0,_internals_createBaseUIEventDetails_js__WEBPACK_IMPORTED_MODULE_29__.createChangeEventDetails)('none'));\n }\n },\n onTypingChange (typing) {\n typingRef.current = typing;\n }\n });\n const { getReferenceProps, getFloatingProps, getItemProps } = (0,_floating_ui_react_index_js__WEBPACK_IMPORTED_MODULE_30__.useInteractions)([\n click,\n dismiss,\n listNavigation,\n typeahead\n ]);\n const mergedTriggerProps = react__WEBPACK_IMPORTED_MODULE_0__.useMemo({\n \"SelectRoot.useMemo[mergedTriggerProps]\": ()=>{\n return (0,_merge_props_index_js__WEBPACK_IMPORTED_MODULE_31__.mergeProps)(getReferenceProps(), interactionTypeProps, generatedId ? {\n id: generatedId\n } : _base_ui_utils_empty__WEBPACK_IMPORTED_MODULE_7__.EMPTY_OBJECT);\n }\n }[\"SelectRoot.useMemo[mergedTriggerProps]\"], [\n getReferenceProps,\n interactionTypeProps,\n generatedId\n ]);\n (0,_base_ui_utils_useOnFirstRender__WEBPACK_IMPORTED_MODULE_32__.useOnFirstRender)({\n \"SelectRoot.useOnFirstRender\": ()=>{\n store.update({\n popupProps: getFloatingProps(),\n triggerProps: mergedTriggerProps\n });\n }\n }[\"SelectRoot.useOnFirstRender\"]);\n (0,_base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_19__.useIsoLayoutEffect)({\n \"SelectRoot.useIsoLayoutEffect\": ()=>{\n store.update({\n id: generatedId,\n modal,\n multiple,\n value,\n open,\n mounted,\n transitionStatus,\n popupProps: getFloatingProps(),\n triggerProps: mergedTriggerProps,\n items,\n itemToStringLabel,\n itemToStringValue,\n isItemEqualToValue,\n openMethod: renderedOpenMethod\n });\n }\n }[\"SelectRoot.useIsoLayoutEffect\"], [\n store,\n generatedId,\n modal,\n multiple,\n value,\n open,\n mounted,\n transitionStatus,\n getFloatingProps,\n mergedTriggerProps,\n items,\n itemToStringLabel,\n itemToStringValue,\n isItemEqualToValue,\n renderedOpenMethod\n ]);\n const contextValue = react__WEBPACK_IMPORTED_MODULE_0__.useMemo({\n \"SelectRoot.useMemo[contextValue]\": ()=>({\n store,\n name,\n required,\n disabled,\n readOnly,\n multiple,\n highlightItemOnHover,\n setValue,\n setOpen,\n listRef,\n popupRef,\n scrollHandlerRef,\n handleScrollArrowVisibility,\n scrollArrowsMountedCountRef,\n getItemProps,\n events: floatingContext.context.events,\n valueRef,\n valuesRef,\n labelsRef,\n typingRef,\n selectionRef,\n selectedItemTextRef,\n validation,\n onOpenChangeComplete,\n keyboardActiveRef,\n alignItemWithTriggerActiveRef,\n initialValueRef\n })\n }[\"SelectRoot.useMemo[contextValue]\"], [\n store,\n name,\n required,\n disabled,\n readOnly,\n multiple,\n highlightItemOnHover,\n setValue,\n setOpen,\n getItemProps,\n floatingContext.context.events,\n validation,\n onOpenChangeComplete,\n handleScrollArrowVisibility\n ]);\n const ref = (0,_base_ui_utils_useMergedRefs__WEBPACK_IMPORTED_MODULE_33__.useMergedRefs)(inputRef, validation.inputRef);\n const hasMultipleSelection = multiple && Array.isArray(value) && value.length > 0;\n const hiddenInputName = multiple ? undefined : name;\n const hiddenInputs = react__WEBPACK_IMPORTED_MODULE_0__.useMemo({\n \"SelectRoot.useMemo[hiddenInputs]\": ()=>{\n if (!multiple || !Array.isArray(value) || !name) {\n return null;\n }\n return value.map({\n \"SelectRoot.useMemo[hiddenInputs]\": (v)=>{\n const currentSerializedValue = (0,_internals_resolveValueLabel_js__WEBPACK_IMPORTED_MODULE_15__.stringifyAsValue)(v, itemToStringValue);\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\"input\", {\n type: \"hidden\",\n form: form,\n name: name,\n value: currentSerializedValue\n }, currentSerializedValue);\n }\n }[\"SelectRoot.useMemo[hiddenInputs]\"]);\n }\n }[\"SelectRoot.useMemo[hiddenInputs]\"], [\n multiple,\n value,\n form,\n name,\n itemToStringValue\n ]);\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_34__.SelectRootContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_34__.SelectFloatingContext.Provider, {\n value: floatingContext,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\"input\", {\n ...validation.getInputValidationProps({\n onFocus () {\n // Move focus to the trigger element when the hidden input is focused.\n store.state.triggerElement?.focus({\n // Supported in Chrome from 144 (January 2026)\n focusVisible: true\n });\n },\n // Handle browser autofill.\n onChange (event) {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const nextValue = event.currentTarget.value;\n const details = (0,_internals_createBaseUIEventDetails_js__WEBPACK_IMPORTED_MODULE_29__.createChangeEventDetails)(_internals_reasons_js__WEBPACK_IMPORTED_MODULE_21__.none, event.nativeEvent);\n function handleChange() {\n if (multiple) {\n // Browser autofill only writes a single scalar value.\n return;\n }\n // Handle single selection: match against registered values using serialization\n const matchingValue = valuesRef.current.find((v)=>{\n // Try matching by value first (e.g., \"US\" for country code)\n const candidateValue = (0,_internals_resolveValueLabel_js__WEBPACK_IMPORTED_MODULE_15__.stringifyAsValue)(v, itemToStringValue);\n if (candidateValue.toLowerCase() === nextValue.toLowerCase()) {\n return true;\n }\n // Also try matching by label for browser autofill compatibility\n // (browsers autofill with displayed text like \"United States\", not the underlying value)\n const candidateLabel = (0,_internals_resolveValueLabel_js__WEBPACK_IMPORTED_MODULE_15__.stringifyAsLabel)(v, itemToStringLabel);\n if (candidateLabel.toLowerCase() === nextValue.toLowerCase()) {\n return true;\n }\n return false;\n });\n if (matchingValue != null) {\n setDirty(matchingValue !== validityData.initialValue);\n setValue(matchingValue, details);\n if (shouldValidateOnChange()) {\n validation.commit(matchingValue);\n }\n }\n }\n store.set('forceMount', true);\n queueMicrotask(handleChange);\n }\n }),\n id: generatedId && hiddenInputName == null ? `${generatedId}-hidden-input` : undefined,\n form: form,\n name: hiddenInputName,\n autoComplete: autoComplete,\n value: serializedValue,\n disabled: disabled,\n required: required && !hasMultipleSelection,\n readOnly: readOnly,\n ref: ref,\n style: name ? _base_ui_utils_visuallyHidden__WEBPACK_IMPORTED_MODULE_35__.visuallyHiddenInput : _base_ui_utils_visuallyHidden__WEBPACK_IMPORTED_MODULE_35__.visuallyHidden,\n tabIndex: -1,\n \"aria-hidden\": true,\n suppressHydrationWarning: true\n }),\n hiddenInputs\n ]\n })\n });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9yb290L1NlbGVjdFJvb3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztnRUFFK0I7QUFDcUQ7QUFDdkI7QUFDRTtBQUNJO0FBQ0E7QUFDTjtBQUNVO0FBQ0Y7QUFDUjtBQUNOO0FBQ1U7QUFDaUY7QUFDaEU7QUFDVztBQUNlO0FBQ3RCO0FBQ1Q7QUFDckM7QUFDK0M7QUFDbEM7QUFDNEI7QUFDSjtBQUNhO0FBQ0w7QUFDaEI7QUFDVTtBQUNRO0FBQy9CO0FBRXhEOzs7OztDQUtDLEdBQzhEO0FBQ3hELFNBQVM2QyxXQUFXQyxLQUFLO0lBQzlCLE1BQU0sRUFDSkMsRUFBRSxFQUNGQyxPQUFPQyxTQUFTLEVBQ2hCQyxlQUFlLElBQUksRUFDbkJDLGFBQWEsRUFDYkMsTUFBTUMsUUFBUSxFQUNkQyxjQUFjLEtBQUssRUFDbkJDLFlBQVksRUFDWkMsTUFBTUMsUUFBUSxFQUNkQyxJQUFJLEVBQ0pDLFlBQVksRUFDWkMsVUFBVUMsZUFBZSxLQUFLLEVBQzlCQyxXQUFXLEtBQUssRUFDaEJDLFdBQVcsS0FBSyxFQUNoQkMsUUFBUSxJQUFJLEVBQ1pDLFVBQVUsRUFDVkMsUUFBUSxFQUNSQyxvQkFBb0IsRUFDcEJDLEtBQUssRUFDTEMsV0FBVyxLQUFLLEVBQ2hCQyxpQkFBaUIsRUFDakJDLGlCQUFpQixFQUNqQkMscUJBQXFCdEMsMkVBQW1CLEVBQ3hDdUMsdUJBQXVCLElBQUksRUFDM0JDLFFBQVEsRUFDVCxHQUFHNUI7SUFDSixNQUFNLEVBQ0o2QixXQUFXLEVBQ1osR0FBRzVDLHNGQUFjQTtJQUNsQixNQUFNLEVBQ0o2QyxRQUFRLEVBQ1JDLFVBQVUsRUFDVkMsVUFBVSxFQUNWQyxzQkFBc0IsRUFDdEJDLFlBQVksRUFDWkMsU0FBUyxFQUNUekIsTUFBTTBCLFNBQVMsRUFDZnRCLFVBQVV1QixhQUFhLEVBQ3ZCQyxVQUFVLEVB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aUJBQWlCLE1BQU07b0NBQ3pCOUksU0FBUzhJLGtCQUFrQjFJLGFBQWFtRSxZQUFZO29DQUNwRG1CLFNBQVNvRCxlQUFlSDtvQ0FDeEIsSUFBSXhJLDBCQUEwQjt3Q0FDNUJLLFdBQVdnRSxNQUFNLENBQUNzRTtvQ0FDcEI7Z0NBQ0Y7NEJBQ0Y7NEJBQ0F6RyxNQUFNNEIsR0FBRyxDQUFDLGNBQWM7NEJBQ3hCZ0IsZUFBZTREO3dCQUNqQjtvQkFDRixFQUFFO29CQUNGMUssSUFBSXVDLGVBQWVtSCxtQkFBbUIsT0FBTyxHQUFHbkgsWUFBWSxhQUFhLENBQUMsR0FBRzZCO29CQUM3RXpELE1BQU1BO29CQUNORixNQUFNaUo7b0JBQ045SSxjQUFjQTtvQkFDZFgsT0FBT2lGO29CQUNQckUsVUFBVUE7b0JBQ1ZHLFVBQVVBLFlBQVksQ0FBQ3lJO29CQUN2QjFJLFVBQVVBO29CQUNWb0csS0FBS0E7b0JBQ0w2RCxPQUFPdkssT0FBT3RELCtFQUFtQkEsR0FBR0QsMEVBQWNBO29CQUNsRCtOLFVBQVUsQ0FBQztvQkFDWCxlQUFlO29CQUNmQywwQkFBMEI7Z0JBQzVCO2dCQUFJdkI7YUFBYTtRQUNuQjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIi9ob21lL3NpbHZpby9EZXZlbG9wL0NJUlVYLUFQUC9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9yb290L1NlbGVjdFJvb3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB2aXN1YWxseUhpZGRlbiwgdmlzdWFsbHlIaWRkZW5JbnB1dCB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL3Zpc3VhbGx5SGlkZGVuJztcbmltcG9ydCB7IHVzZU1lcmdlZFJlZnMgfSBmcm9tICdAYmFzZS11aS91dGlscy91c2VNZXJnZWRSZWZzJztcbmltcG9ydCB7IHVzZVJlZldpdGhJbml0IH0gZnJvbSAnQGJhc2UtdWkvdXRpbHMvdXNlUmVmV2l0aEluaXQnO1xuaW1wb3J0IHsgdXNlT25GaXJzdFJlbmRlciB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL3VzZU9uRmlyc3RSZW5kZXInO1xuaW1wb3J0IHsgdXNlUHJldmlvdXNWYWx1ZSB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL3VzZVByZXZpb3VzVmFsdWUnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZCB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL3VzZUNvbnRyb2xsZWQnO1xuaW1wb3J0IHsgdXNlSXNvTGF5b3V0RWZmZWN0IH0gZnJvbSAnQGJhc2UtdWkvdXRpbHMvdXNlSXNvTGF5b3V0RWZmZWN0JztcbmltcG9ydCB7IHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSAnQGJhc2UtdWkvdXRpbHMvdXNlU3RhYmxlQ2FsbGJhY2snO1xuaW1wb3J0IHsgdXNlVmFsdWVBc1JlZiB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL3VzZVZhbHVlQXNSZWYnO1xuaW1wb3J0IHsgdXNlU3RvcmUsIFN0b3JlIH0gZnJvbSAnQGJhc2UtdWkvdXRpbHMvc3RvcmUnO1xuaW1wb3J0IHsgRU1QVFlfQVJSQVksIEVNUFRZX09CSkVDVCB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL2VtcHR5JztcbmltcG9ydCB7IHVzZUNsaWNrLCB1c2VEaXNtaXNzLCB1c2VGbG9hdGluZ1Jvb3RDb250ZXh0LCB1c2VJbnRlcmFjdGlvbnMsIHVzZUxpc3ROYXZpZ2F0aW9uLCB1c2VUeXBlYWhlYWQgfSBmcm9tIFwiLi4vLi4vZmxvYXRpbmctdWktcmVhY3QvaW5kZXguanNcIjtcbmltcG9ydCB7IFNlbGVjdFJvb3RDb250ZXh0LCBTZWxlY3RGbG9hdGluZ0NvbnRleHQgfSBmcm9tIFwiLi9TZWxlY3RSb290Q29udGV4dC5qc1wiO1xuaW1wb3J0IHsgdXNlRmllbGRSb290Q29udGV4dCB9IGZyb20gXCIuLi8uLi9pbnRlcm5hbHMvZmllbGQtcm9vdC1jb250ZXh0L0ZpZWxkUm9vdENvbnRleHQuanNcIjtcbmltcG9ydCB7IHVzZVJlZ2lzdGVyRmllbGRDb250cm9sIH0gZnJvbSBcIi4uLy4uL2ludGVybmFscy9maWVsZC1yZWdpc3Rlci1jb250cm9sL3VzZVJlZ2lzdGVyRmllbGRDb250cm9sLmpzXCI7XG5pbXBvcnQgeyB1c2VMYWJlbGFibGVJZCB9IGZyb20gXCIuLi8uLi9pbnRlcm5hbHMvbGFiZWxhYmxlLXByb3ZpZGVyL3VzZUxhYmVsYWJsZUlkLmpzXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2l0aW9uU3RhdHVzIH0gZnJvbSBcIi4uLy4uL2ludGVybmFscy91c2VUcmFuc2l0aW9uU3RhdHVzLmpzXCI7XG5pbXBvcnQgeyBzZWxlY3RvcnMgfSBmcm9tIFwiLi4vc3RvcmUuanNcIjtcbmltcG9ydCB7IGNyZWF0ZUNoYW5nZUV2ZW50RGV0YWlscyB9IGZyb20gXCIuLi8uLi9pbnRlcm5hbHMvY3JlYXRlQmFzZVVJRXZlbnREZXRhaWxzLmpzXCI7XG5pbXBvcnQgeyBSRUFTT05TIH0gZnJvbSBcIi4uLy4uL2ludGVybmFscy9yZWFzb25zLmpzXCI7XG5pbXBvcnQgeyB1c2VPcGVuQ2hhbmdlQ29tcGxldGUgfSBmcm9tIFwiLi4vLi4vaW50ZXJuYWxzL3VzZU9wZW5DaGFuZ2VDb21wbGV0ZS5qc1wiO1xuaW1wb3J0IHsgdXNlRm9ybUNvbnRleHQgfSBmcm9tIFwiLi4vLi4vaW50ZXJuYWxzL2Zvcm0tY29udGV4dC9Gb3JtQ29udGV4dC5qc1wiO1xuaW1wb3J0IHsgc3RyaW5naWZ5QXNMYWJlbCwgc3RyaW5naWZ5QXNWYWx1ZSB9IGZyb20gXCIuLi8uLi9pbnRlcm5hbHMvcmVzb2x2ZVZhbHVlTGFiZWwuanNcIjtcbmltcG9ydCB7IGRlZmF1bHRJdGVtRXF1YWxpdHksIGZpbmRJdGVtSW5kZXggfSBmcm9tIFwiLi4vLi4vaW50ZXJuYWxzL2l0ZW1FcXVhbGl0eS5qc1wiO1xuaW1wb3J0IHsgdXNlVmFsdWVDaGFuZ2VkIH0gZnJvbSBcIi4uLy4uL2ludGVybmFscy91c2VWYWx1ZUNoYW5nZWQuanNcIjtcbmltcG9ydCB7IHVzZU9wZW5JbnRlcmFjdGlvblR5cGUgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXNlT3BlbkludGVyYWN0aW9uVHlwZS5qc1wiO1xuaW1wb3J0IHsgZ2V0TWF4U2Nyb2xsT2Zmc2V0LCBub3JtYWxpemVTY3JvbGxPZmZzZXQgfSBmcm9tIFwiLi4vLi4vdXRpbHMvc2Nyb2xsRWRnZXMuanNcIjtcbmltcG9ydCB7IG1lcmdlUHJvcHMgfSBmcm9tIFwiLi4vLi4vbWVyZ2UtcHJvcHMvaW5kZXguanNcIjtcblxuLyoqXG4gKiBHcm91cHMgYWxsIHBhcnRzIG9mIHRoZSBzZWxlY3QuXG4gKiBEb2Vzbid0IHJlbmRlciBpdHMgb3duIEhUTUwgZWxlbWVudC5cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBbQmFzZSBVSSBTZWxlY3RdKGh0dHBzOi8vYmFzZS11aS5jb20vcmVhY3QvY29tcG9uZW50cy9zZWxlY3QpXG4gKi9cbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0Um9vdChwcm9wcykge1xuICBjb25zdCB7XG4gICAgaWQsXG4gICAgdmFsdWU6IHZhbHVlUHJvcCxcbiAgICBkZWZhdWx0VmFsdWUgPSBudWxsLFxuICAgIG9uVmFsdWVDaGFuZ2UsXG4gICAgb3Blbjogb3BlblByb3AsXG4gICAgZGVmYXVsdE9wZW4gPSBmYWxzZSxcbiAgICBvbk9wZW5DaGFuZ2UsXG4gICAgbmFtZTogbmFtZVByb3AsXG4gICAgZm9ybSxcbiAgICBhdXRvQ29tcGxldGUsXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkUHJvcCA9IGZhbHNlLFxuICAgIHJlYWRPbmx5ID0gZmFsc2UsXG4gICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICBtb2RhbCA9IHRydWUsXG4gICAgYWN0aW9uc1JlZixcbiAgICBpbnB1dFJlZixcbiAgICBvbk9wZW5DaGFuZ2VDb21wbGV0ZSxcbiAgICBpdGVtcyxcbiAgICBtdWx0aXBsZSA9IGZhbHNlLFxuICAgIGl0ZW1Ub1N0cmluZ0xhYmVsLFxuICAgIGl0ZW1Ub1N0cmluZ1ZhbHVlLFxuICAgIGlzSXRlbUVxdWFsVG9WYWx1ZSA9IGRlZmF1bHRJdGVtRXF1YWxpdHksXG4gICAgaGlnaGxpZ2h0SXRlbU9uSG92ZXIgPSB0cnVlLFxuICAgIGNoaWxkcmVuXG4gIH0gPSBwcm9wcztcbiAgY29uc3Qge1xuICAgIGNsZWFyRXJyb3JzXG4gIH0gPSB1c2VGb3JtQ29udGV4dCgpO1xuICBjb25zdCB7XG4gICAgc2V0RGlydHksXG4gICAgc2V0VG91Y2hlZCxcbiAgICBzZXRGb2N1c2VkLFxuICAgIHNob3VsZFZhbGlkYXRlT25DaGFuZ2UsXG4gICAgdmFsaWRpdHlEYXRhLFxuICAgIHNldEZpbGxlZCxcbiAgICBuYW1lOiBmaWVsZE5hbWUsXG4gICAgZGlzYWJsZWQ6IGZpZWxkRGlzYWJsZWQsXG4gICAgdmFsaWRhdGlvbixcbiAgICB2YWxpZGF0aW9uTW9kZVxuICB9ID0gdXNlRmllbGRSb290Q29udGV4dCgpO1xuICBjb25zdCBnZW5lcmF0ZWRJZCA9IHVzZUxhYmVsYWJsZUlkKHtcbiAgICBpZFxuICB9KTtcbiAgY29uc3QgZGlzYWJsZWQgPSBmaWVsZERpc2FibGVkIHx8IGRpc2FibGVkUHJvcDtcbiAgY29uc3QgbmFtZSA9IGZpZWxkTmFtZSA/PyBuYW1lUHJvcDtcbiAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZVVud3JhcHBlZF0gPSB1c2VDb250cm9sbGVkKHtcbiAgICBjb250cm9sbGVkOiB2YWx1ZVByb3AsXG4gICAgZGVmYXVsdDogbXVsdGlwbGUgPyBkZWZhdWx0VmFsdWUgPz8gRU1QVFlfQVJSQVkgOiBkZWZhdWx0VmFsdWUsXG4gICAgbmFtZTogJ1NlbGVjdCcsXG4gICAgc3RhdGU6ICd2YWx1ZSdcbiAgfSk7XG4gIGNvbnN0IFtvcGVuLCBzZXRPcGVuVW53cmFwcGVkXSA9IHVzZUNvbnRyb2xsZWQoe1xuICAgIGNvbnRyb2xsZWQ6IG9wZW5Qcm9wLFxuICAgIGRlZmF1bHQ6IGRlZmF1bHRPcGVuLFxuICAgIG5hbWU6ICdTZWxlY3QnLFxuICAgIHN0YXRlOiAnb3BlbidcbiAgfSk7XG4gIGNvbnN0IGxpc3RSZWYgPSBSZWFjdC51c2VSZWYoW10pO1xuICBjb25zdCBsYWJlbHNSZWYgPSBSZWFjdC51c2VSZWYoW10pO1xuICBjb25zdCBwb3B1cFJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3Qgc2Nyb2xsSGFuZGxlclJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3Qgc2Nyb2xsQXJyb3dzTW91bnRlZENvdW50UmVmID0gUmVhY3QudXNlUmVmKDApO1xuICBjb25zdCB2YWx1ZVJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgdmFsdWVzUmVmID0gUmVhY3QudXNlUmVmKFtdKTtcbiAgY29uc3QgdHlwaW5nUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qga2V5Ym9hcmRBY3RpdmVSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICBjb25zdCBzZWxlY3RlZEl0ZW1UZXh0UmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBzZWxlY3Rpb25SZWYgPSBSZWFjdC51c2VSZWYoe1xuICAgIGFsbG93U2VsZWN0ZWRNb3VzZVVwOiBmYWxzZSxcbiAgICBhbGxvd1Vuc2VsZWN0ZWRNb3VzZVVwOiBmYWxzZVxuICB9KTtcbiAgY29uc3QgYWxpZ25JdGVtV2l0aFRyaWdnZXJBY3RpdmVSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICBjb25zdCB7XG4gICAgbW91bnRlZCxcbiAgICBzZXRNb3VudGVkLFxuICAgIHRyYW5zaXRpb25TdGF0dXNcbiAgfSA9IHVzZVRyYW5zaXRpb25TdGF0dXMob3Blbik7XG4gIGNvbnN0IHtcbiAgICBvcGVuTWV0aG9kLFxuICAgIHRyaWdnZXJQcm9wczogaW50ZXJhY3Rpb25UeXBlUHJvcHNcbiAgfSA9IHVzZU9wZW5JbnRlcmFjdGlvblR5cGUob3Blbik7XG4gIGNvbnN0IHN0b3JlID0gdXNlUmVmV2l0aEluaXQoKCkgPT4gbmV3IFN0b3JlKHtcbiAgICBpZDogZ2VuZXJhdGVkSWQsXG4gICAgbGFiZWxJZDogdW5kZWZpbmVkLFxuICAgIG1vZGFsLFxuICAgIG11bHRpcGxlLFxuICAgIGl0ZW1Ub1N0cmluZ0xhYmVsLFxuICAgIGl0ZW1Ub1N0cmluZ1ZhbHVlLFxuICAgIGlzSXRlbUVxdWFsVG9WYWx1ZSxcbiAgICB2YWx1ZSxcbiAgICBvcGVuLFxuICAgIG1vdW50ZWQsXG4gICAgdHJhbnNpdGlvblN0YXR1cyxcbiAgICBpdGVtcyxcbiAgICBmb3JjZU1vdW50OiBmYWxzZSxcbiAgICBvcGVuTWV0aG9kOiBudWxsLFxuICAgIGFjdGl2ZUluZGV4OiBudWxsLFxuICAgIHNlbGVjdGVkSW5kZXg6IG51bGwsXG4gICAgcG9wdXBQcm9wczoge30sXG4gICAgdHJpZ2dlclByb3BzOiB7fSxcbiAgICB0cmlnZ2VyRWxlbWVudDogbnVsbCxcbiAgICBwb3NpdGlvbmVyRWxlbWVudDogbnVsbCxcbiAgICBsaXN0RWxlbWVudDogbnVsbCxcbiAgICBzY3JvbGxVcEFycm93VmlzaWJsZTogZmFsc2UsXG4gICAgc2Nyb2xsRG93bkFycm93VmlzaWJsZTogZmFsc2UsXG4gICAgaGFzU2Nyb2xsQXJyb3dzOiBmYWxzZVxuICB9KSkuY3VycmVudDtcbiAgY29uc3QgYWN0aXZlSW5kZXggPSB1c2VTdG9yZShzdG9yZSwgc2VsZWN0b3JzLmFjdGl2ZUluZGV4KTtcbiAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHVzZVN0b3JlKHN0b3JlLCBzZWxlY3RvcnMuc2VsZWN0ZWRJbmRleCk7XG4gIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gdXNlU3RvcmUoc3RvcmUsIHNlbGVjdG9ycy50cmlnZ2VyRWxlbWVudCk7XG4gIGNvbnN0IHBvc2l0aW9uZXJFbGVtZW50ID0gdXNlU3RvcmUoc3RvcmUsIHNlbGVjdG9ycy5wb3NpdGlvbmVyRWxlbWVudCk7XG4gIGNvbnN0IHByZXZpb3VzT3Blbk1ldGhvZCA9IHVzZVByZXZpb3VzVmFsdWUob3Blbk1ldGhvZCk7XG4gIGNvbnN0IHJlbmRlcmVkT3Blbk1ldGhvZCA9IG9wZW5NZXRob2QgPz8gcHJldmlvdXNPcGVuTWV0aG9kO1xuICBjb25zdCBzZXJpYWxpemVkVmFsdWUgPSBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBpZiAobXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBzdHJpbmdpZnlBc1ZhbHVlKHZhbHVlLCBpdGVtVG9TdHJpbmdWYWx1ZSk7XG4gIH0sIFttdWx0aXBsZSwgdmFsdWUsIGl0ZW1Ub1N0cmluZ1ZhbHVlXSk7XG4gIGNvbnN0IGZpZWxkU3RyaW5nVmFsdWUgPSBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBpZiAobXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5tYXAoY3VycmVudFZhbHVlID0+IHN0cmluZ2lmeUFzVmFsdWUoY3VycmVudFZhbHVlLCBpdGVtVG9TdHJpbmdWYWx1ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gc3RyaW5naWZ5QXNWYWx1ZSh2YWx1ZSwgaXRlbVRvU3RyaW5nVmFsdWUpO1xuICB9LCBbbXVsdGlwbGUsIHZhbHVlLCBpdGVtVG9TdHJpbmdWYWx1ZV0pO1xuICBjb25zdCBjb250cm9sUmVmID0gdXNlVmFsdWVBc1JlZihzdG9yZS5zdGF0ZS50cmlnZ2VyRWxlbWVudCk7XG4gIGNvbnN0IGdldEZpZWxkVmFsdWUgPSB1c2VTdGFibGVDYWxsYmFjaygoKSA9PiBmaWVsZFN0cmluZ1ZhbHVlKTtcbiAgdXNlUmVnaXN0ZXJGaWVsZENvbnRyb2woY29udHJvbFJlZiwge1xuICAgIGlkOiBnZW5lcmF0ZWRJZCxcbiAgICB2YWx1ZSxcbiAgICBnZXRWYWx1ZTogZ2V0RmllbGRWYWx1ZVxuICB9KTtcbiAgY29uc3QgaW5pdGlhbFZhbHVlUmVmID0gUmVhY3QudXNlUmVmKHZhbHVlKTtcbiAgdXNlSXNvTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAvLyBFbnN1cmUgdGhlIHZhbHVlcyBhbmQgbGFiZWxzIGFyZSByZWdpc3RlcmVkIGZvciBwcm9ncmFtbWF0aWMgdmFsdWUgY2hhbmdlcy5cbiAgICBpZiAodmFsdWUgIT09IGluaXRpYWxWYWx1ZVJlZi5jdXJyZW50KSB7XG4gICAgICBzdG9yZS5zZXQoJ2ZvcmNlTW91bnQnLCB0cnVlKTtcbiAgICB9XG4gIH0sIFtzdG9yZSwgdmFsdWVdKTtcbiAgdXNlSXNvTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBzZXRGaWxsZWQobXVsdGlwbGUgPyBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwIDogdmFsdWUgIT0gbnVsbCk7XG4gIH0sIFttdWx0aXBsZSwgdmFsdWUsIHNldEZpbGxlZF0pO1xuICB1c2VJc29MYXlvdXRFZmZlY3QoZnVuY3Rpb24gc3luY1NlbGVjdGVkSW5kZXgoKSB7XG4gICAgaWYgKG9wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVnaXN0cnkgPSB2YWx1ZXNSZWYuY3VycmVudDtcbiAgICBpZiAobXVsdGlwbGUpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcbiAgICAgIGlmIChjdXJyZW50VmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHN0b3JlLnNldCgnc2VsZWN0ZWRJbmRleCcsIG51bGwpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBsYXN0VmFsdWUgPSBjdXJyZW50VmFsdWVbY3VycmVudFZhbHVlLmxlbmd0aCAtIDFdO1xuICAgICAgY29uc3QgbGFzdEluZGV4ID0gZmluZEl0ZW1JbmRleChyZWdpc3RyeSwgbGFzdFZhbHVlLCBpc0l0ZW1FcXVhbFRvVmFsdWUpO1xuICAgICAgc3RvcmUuc2V0KCdzZWxlY3RlZEluZGV4JywgbGFzdEluZGV4ID09PSAtMSA/IG51bGwgOiBsYXN0SW5kZXgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpbmRleCA9IGZpbmRJdGVtSW5kZXgocmVnaXN0cnksIHZhbHVlLCBpc0l0ZW1FcXVhbFRvVmFsdWUpO1xuICAgIHN0b3JlLnNldCgnc2VsZWN0ZWRJbmRleCcsIGluZGV4ID09PSAtMSA/IG51bGwgOiBpbmRleCk7XG4gIH0sIFttdWx0aXBsZSwgb3BlbiwgdmFsdWUsIHZhbHVlc1JlZiwgaXNJdGVtRXF1YWxUb1ZhbHVlLCBzdG9yZV0pO1xuICB1c2VWYWx1ZUNoYW5nZWQodmFsdWUsICgpID0+IHtcbiAgICBjbGVhckVycm9ycyhuYW1lKTtcbiAgICBzZXREaXJ0eSh2YWx1ZSAhPT0gdmFsaWRpdHlEYXRhLmluaXRpYWxWYWx1ZSk7XG4gICAgaWYgKHNob3VsZFZhbGlkYXRlT25DaGFuZ2UoKSkge1xuICAgICAgdmFsaWRhdGlvbi5jb21taXQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0aW9uLmNvbW1pdCh2YWx1ZSwgdHJ1ZSk7XG4gICAgfVxuICB9KTtcbiAgY29uc3Qgc2V0T3BlbiA9IHVzZVN0YWJsZUNhbGxiYWNrKChuZXh0T3BlbiwgZXZlbnREZXRhaWxzKSA9PiB7XG4gICAgb25PcGVuQ2hhbmdlPy4obmV4dE9wZW4sIGV2ZW50RGV0YWlscyk7XG4gICAgaWYgKGV2ZW50RGV0YWlscy5pc0NhbmNlbGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHNldE9wZW5VbndyYXBwZWQobmV4dE9wZW4pO1xuICAgIGlmICghbmV4dE9wZW4gJiYgKGV2ZW50RGV0YWlscy5yZWFzb24gPT09IFJFQVNPTlMuZm9jdXNPdXQgfHwgZXZlbnREZXRhaWxzLnJlYXNvbiA9PT0gUkVBU09OUy5vdXRzaWRlUHJlc3MpKSB7XG4gICAgICBzZXRUb3VjaGVkKHRydWUpO1xuICAgICAgc2V0Rm9jdXNlZChmYWxzZSk7XG4gICAgICBpZiAodmFsaWRhdGlvbk1vZGUgPT09ICdvbkJsdXInKSB7XG4gICAgICAgIHZhbGlkYXRpb24uY29tbWl0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGUgYWN0aXZlIGluZGV4IHdpbGwgc3luYyB0byB0aGUgbGFzdCBzZWxlY3RlZCBpbmRleCBvbiB0aGUgbmV4dCBvcGVuLlxuICAgIC8vIFdvcmthcm91bmQgYGVuYWJsZUZvY3VzSW5zaWRlYCBpbiBGbG9hdGluZyBVSSBzZXR0aW5nIGB0YWJpbmRleD0wYCBvZiBhIG5vbi1oaWdobGlnaHRlZFxuICAgIC8vIG9wdGlvbiB1cG9uIGNsb3NlIHdoZW4gdGFiYmluZyBvdXQgZHVlIHRvIGBrZWVwTW91bnRlZD10cnVlYDpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvcHVsbC8zMDA0L2ZpbGVzI2RpZmYtOTYyYTc0MzljZGViMDllYTk4ZDRiNjIyYTQ1ZDUxN2JjZTA3YWQ4YzNmODY2ZTA4OWJkYTA1ZjRiMGJiZDg3NVIxOTQtUjE5OVxuICAgIC8vIFRoaXMgb3RoZXJ3aXNlIGNhdXNlcyBvcHRpb25zIHRvIHJldGFpbiBgdGFiaW5kZXg9MGAgaW5jb3JyZWN0bHkgd2hlbiB0aGUgcG9wdXAgaXMgY2xvc2VkXG4gICAgLy8gd2hlbiB0YWJiaW5nIG91dHNpZGUuXG4gICAgaWYgKCFuZXh0T3BlbiAmJiBzdG9yZS5zdGF0ZS5hY3RpdmVJbmRleCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgYWN0aXZlT3B0aW9uID0gbGlzdFJlZi5jdXJyZW50W3N0b3JlLnN0YXRlLmFjdGl2ZUluZGV4XTtcbiAgICAgIC8vIFdhaXQgZm9yIEZsb2F0aW5nIFVJJ3MgZm9jdXMgZWZmZWN0IHRvIGhhdmUgZmlyZWRcbiAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgICAgYWN0aXZlT3B0aW9uPy5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuICBjb25zdCBoYW5kbGVVbm1vdW50ID0gdXNlU3RhYmxlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldE1vdW50ZWQoZmFsc2UpO1xuICAgIHN0b3JlLnVwZGF0ZSh7XG4gICAgICBhY3RpdmVJbmRleDogbnVsbCxcbiAgICAgIG9wZW5NZXRob2Q6IG51bGxcbiAgICB9KTtcbiAgICBvbk9wZW5DaGFuZ2VDb21wbGV0ZT8uKGZhbHNlKTtcbiAgfSk7XG4gIHVzZU9wZW5DaGFuZ2VDb21wbGV0ZSh7XG4gICAgZW5hYmxlZDogIWFjdGlvbnNSZWYsXG4gICAgb3BlbixcbiAgICByZWY6IHBvcHVwUmVmLFxuICAgIG9uQ29tcGxldGUoKSB7XG4gICAgICBpZiAoIW9wZW4pIHtcbiAgICAgICAgaGFuZGxlVW5tb3VudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIFJlYWN0LnVzZUltcGVyYXRpdmVIYW5kbGUoYWN0aW9uc1JlZiwgKCkgPT4gKHtcbiAgICB1bm1vdW50OiBoYW5kbGVVbm1vdW50XG4gIH0pLCBbaGFuZGxlVW5tb3VudF0pO1xuICBjb25zdCBzZXRWYWx1ZSA9IHVzZVN0YWJsZUNhbGxiYWNrKChuZXh0VmFsdWUsIGV2ZW50RGV0YWlscykgPT4ge1xuICAgIG9uVmFsdWVDaGFuZ2U/LihuZXh0VmFsdWUsIGV2ZW50RGV0YWlscyk7XG4gICAgaWYgKGV2ZW50RGV0YWlscy5pc0NhbmNlbGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHNldFZhbHVlVW53cmFwcGVkKG5leHRWYWx1ZSk7XG4gIH0pO1xuICBjb25zdCBoYW5kbGVTY3JvbGxBcnJvd1Zpc2liaWxpdHkgPSB1c2VTdGFibGVDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qgc2Nyb2xsZXIgPSBzdG9yZS5zdGF0ZS5saXN0RWxlbWVudCB8fCBwb3B1cFJlZi5jdXJyZW50O1xuICAgIGlmICghc2Nyb2xsZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbWF4U2Nyb2xsVG9wID0gZ2V0TWF4U2Nyb2xsT2Zmc2V0KHNjcm9sbGVyLnNjcm9sbEhlaWdodCwgc2Nyb2xsZXIuY2xpZW50SGVpZ2h0KTtcbiAgICBjb25zdCBzY3JvbGxUb3AgPSBub3JtYWxpemVTY3JvbGxPZmZzZXQoc2Nyb2xsZXIuc2Nyb2xsVG9wLCBtYXhTY3JvbGxUb3ApO1xuICAgIGNvbnN0IHNob3VsZFNob3dVcCA9IHNjcm9sbFRvcCA+IDA7XG4gICAgY29uc3Qgc2hvdWxkU2hvd0Rvd24gPSBzY3JvbGxUb3AgPCBtYXhTY3JvbGxUb3A7XG4gICAgaWYgKHN0b3JlLnN0YXRlLnNjcm9sbFVwQXJyb3dWaXNpYmxlICE9PSBzaG91bGRTaG93VXApIHtcbiAgICAgIHN0b3JlLnNldCgnc2Nyb2xsVXBBcnJvd1Zpc2libGUnLCBzaG91bGRTaG93VXApO1xuICAgIH1cbiAgICBpZiAoc3RvcmUuc3RhdGUuc2Nyb2xsRG93bkFycm93VmlzaWJsZSAhPT0gc2hvdWxkU2hvd0Rvd24pIHtcbiAgICAgIHN0b3JlLnNldCgnc2Nyb2xsRG93bkFycm93VmlzaWJsZScsIHNob3VsZFNob3dEb3duKTtcbiAgICB9XG4gIH0pO1xuICBjb25zdCBmbG9hdGluZ0NvbnRleHQgPSB1c2VGbG9hdGluZ1Jvb3RDb250ZXh0KHtcbiAgICBvcGVuLFxuICAgIG9uT3BlbkNoYW5nZTogc2V0T3BlbixcbiAgICBlbGVtZW50czoge1xuICAgICAgcmVmZXJlbmNlOiB0cmlnZ2VyRWxlbWVudCxcbiAgICAgIGZsb2F0aW5nOiBwb3NpdGlvbmVyRWxlbWVudFxuICAgIH1cbiAgfSk7XG4gIGNvbnN0IGNsaWNrID0gdXNlQ2xpY2soZmxvYXRpbmdDb250ZXh0LCB7XG4gICAgZW5hYmxlZDogIXJlYWRPbmx5ICYmICFkaXNhYmxlZCxcbiAgICBldmVudDogJ21vdXNlZG93bidcbiAgfSk7XG4gIGNvbnN0IGRpc21pc3MgPSB1c2VEaXNtaXNzKGZsb2F0aW5nQ29udGV4dCwge1xuICAgIGJ1YmJsZXM6IGZhbHNlXG4gIH0pO1xuICBjb25zdCBsaXN0TmF2aWdhdGlvbiA9IHVzZUxpc3ROYXZpZ2F0aW9uKGZsb2F0aW5nQ29udGV4dCwge1xuICAgIGVuYWJsZWQ6ICFyZWFkT25seSAmJiAhZGlzYWJsZWQsXG4gICAgbGlzdFJlZixcbiAgICBhY3RpdmVJbmRleCxcbiAgICBzZWxlY3RlZEluZGV4LFxuICAgIGRpc2FibGVkSW5kaWNlczogRU1QVFlfQVJSQVksXG4gICAgb25OYXZpZ2F0ZShuZXh0QWN0aXZlSW5kZXgpIHtcbiAgICAgIC8vIFJldGFpbiB0aGUgaGlnaGxpZ2h0IHdoaWxlIHRyYW5zaXRpb25pbmcgb3V0LlxuICAgICAgaWYgKG5leHRBY3RpdmVJbmRleCA9PT0gbnVsbCAmJiAhb3Blbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzdG9yZS5zZXQoJ2FjdGl2ZUluZGV4JywgbmV4dEFjdGl2ZUluZGV4KTtcbiAgICB9LFxuICAgIGZvY3VzSXRlbU9uSG92ZXI6IGhpZ2hsaWdodEl0ZW1PbkhvdmVyXG4gIH0pO1xuICBjb25zdCB0eXBlYWhlYWQgPSB1c2VUeXBlYWhlYWQoZmxvYXRpbmdDb250ZXh0LCB7XG4gICAgZW5hYmxlZDogIXJlYWRPbmx5ICYmICFkaXNhYmxlZCAmJiAob3BlbiB8fCAhbXVsdGlwbGUpLFxuICAgIGxpc3RSZWY6IGxhYmVsc1JlZixcbiAgICBhY3RpdmVJbmRleCxcbiAgICBzZWxlY3RlZEluZGV4LFxuICAgIG9uTWF0Y2goaW5kZXgpIHtcbiAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgIHN0b3JlLnNldCgnYWN0aXZlSW5kZXgnLCBpbmRleCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRWYWx1ZSh2YWx1ZXNSZWYuY3VycmVudFtpbmRleF0sIGNyZWF0ZUNoYW5nZUV2ZW50RGV0YWlscygnbm9uZScpKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uVHlwaW5nQ2hhbmdlKHR5cGluZykge1xuICAgICAgdHlwaW5nUmVmLmN1cnJlbnQgPSB0eXBpbmc7XG4gICAgfVxuICB9KTtcbiAgY29uc3Qge1xuICAgIGdldFJlZmVyZW5jZVByb3BzLFxuICAgIGdldEZsb2F0aW5nUHJvcHMsXG4gICAgZ2V0SXRlbVByb3BzXG4gIH0gPSB1c2VJbnRlcmFjdGlvbnMoW2NsaWNrLCBkaXNtaXNzLCBsaXN0TmF2aWdhdGlvbiwgdHlwZWFoZWFkXSk7XG4gIGNvbnN0IG1lcmdlZFRyaWdnZXJQcm9wcyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBtZXJnZVByb3BzKGdldFJlZmVyZW5jZVByb3BzKCksIGludGVyYWN0aW9uVHlwZVByb3BzLCBnZW5lcmF0ZWRJZCA/IHtcbiAgICAgIGlkOiBnZW5lcmF0ZWRJZFxuICAgIH0gOiBFTVBUWV9PQkpFQ1QpO1xuICB9LCBbZ2V0UmVmZXJlbmNlUHJvcHMsIGludGVyYWN0aW9uVHlwZVByb3BzLCBnZW5lcmF0ZWRJZF0pO1xuICB1c2VPbkZpcnN0UmVuZGVyKCgpID0+IHtcbiAgICBzdG9yZS51cGRhdGUoe1xuICAgICAgcG9wdXBQcm9wczogZ2V0RmxvYXRpbmdQcm9wcygpLFxuICAgICAgdHJpZ2dlclByb3BzOiBtZXJnZWRUcmlnZ2VyUHJvcHNcbiAgICB9KTtcbiAgfSk7XG4gIHVzZUlzb0xheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgc3RvcmUudXBkYXRlKHtcbiAgICAgIGlkOiBnZW5lcmF0ZWRJZCxcbiAgICAgIG1vZGFsLFxuICAgICAgbXVsdGlwbGUsXG4gICAgICB2YWx1ZSxcbiAgICAgIG9wZW4sXG4gICAgICBtb3VudGVkLFxuICAgICAgdHJhbnNpdGlvblN0YXR1cyxcbiAgICAgIHBvcHVwUHJvcHM6IGdldEZsb2F0aW5nUHJvcHMoKSxcbiAgICAgIHRyaWdnZXJQcm9wczogbWVyZ2VkVHJpZ2dlclByb3BzLFxuICAgICAgaXRlbXMsXG4gICAgICBpdGVtVG9TdHJpbmdMYWJlbCxcbiAgICAgIGl0ZW1Ub1N0cmluZ1ZhbHVlLFxuICAgICAgaXNJdGVtRXF1YWxUb1ZhbHVlLFxuICAgICAgb3Blbk1ldGhvZDogcmVuZGVyZWRPcGVuTWV0aG9kXG4gICAgfSk7XG4gIH0sIFtzdG9yZSwgZ2VuZXJhdGVkSWQsIG1vZGFsLCBtdWx0aXBsZSwgdmFsdWUsIG9wZW4sIG1vdW50ZWQsIHRyYW5zaXRpb25TdGF0dXMsIGdldEZsb2F0aW5nUHJvcHMsIG1lcmdlZFRyaWdnZXJQcm9wcywgaXRlbXMsIGl0ZW1Ub1N0cmluZ0xhYmVsLCBpdGVtVG9TdHJpbmdWYWx1ZSwgaXNJdGVtRXF1YWxUb1ZhbHVlLCByZW5kZXJlZE9wZW5NZXRob2RdKTtcbiAgY29uc3QgY29udGV4dFZhbHVlID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIHN0b3JlLFxuICAgIG5hbWUsXG4gICAgcmVxdWlyZWQsXG4gICAgZGlzYWJsZWQsXG4gICAgcmVhZE9ubHksXG4gICAgbXVsdGlwbGUsXG4gICAgaGlnaGxpZ2h0SXRlbU9uSG92ZXIsXG4gICAgc2V0VmFsdWUsXG4gICAgc2V0T3BlbixcbiAgICBsaXN0UmVmLFxuICAgIHBvcHVwUmVmLFxuICAgIHNjcm9sbEhhbmRsZXJSZWYsXG4gICAgaGFuZGxlU2Nyb2xsQXJyb3dWaXNpYmlsaXR5LFxuICAgIHNjcm9sbEFycm93c01vdW50ZWRDb3VudFJlZixcbiAgICBnZXRJdGVtUHJvcHMsXG4gICAgZXZlbnRzOiBmbG9hdGluZ0NvbnRleHQuY29udGV4dC5ldmVudHMsXG4gICAgdmFsdWVSZWYsXG4gICAgdmFsdWVzUmVmLFxuICAgIGxhYmVsc1JlZixcbiAgICB0eXBpbmdSZWYsXG4gICAgc2VsZWN0aW9uUmVmLFxuICAgIHNlbGVjdGVkSXRlbVRleHRSZWYsXG4gICAgdmFsaWRhdGlvbixcbiAgICBvbk9wZW5DaGFuZ2VDb21wbGV0ZSxcbiAgICBrZXlib2FyZEFjdGl2ZVJlZixcbiAgICBhbGlnbkl0ZW1XaXRoVHJpZ2dlckFjdGl2ZVJlZixcbiAgICBpbml0aWFsVmFsdWVSZWZcbiAgfSksIFtzdG9yZSwgbmFtZSwgcmVxdWlyZWQsIGRpc2FibGVkLCByZWFkT25seSwgbXVsdGlwbGUsIGhpZ2hsaWdodEl0ZW1PbkhvdmVyLCBzZXRWYWx1ZSwgc2V0T3BlbiwgZ2V0SXRlbVByb3BzLCBmbG9hdGluZ0NvbnRleHQuY29udGV4dC5ldmVudHMsIHZhbGlkYXRpb24sIG9uT3BlbkNoYW5nZUNvbXBsZXRlLCBoYW5kbGVTY3JvbGxBcnJvd1Zpc2liaWxpdHldKTtcbiAgY29uc3QgcmVmID0gdXNlTWVyZ2VkUmVmcyhpbnB1dFJlZiwgdmFsaWRhdGlvbi5pbnB1dFJlZik7XG4gIGNvbnN0IGhhc011bHRpcGxlU2VsZWN0aW9uID0gbXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID4gMDtcbiAgY29uc3QgaGlkZGVuSW5wdXROYW1lID0gbXVsdGlwbGUgPyB1bmRlZmluZWQgOiBuYW1lO1xuICBjb25zdCBoaWRkZW5JbnB1dHMgPSBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIW11bHRpcGxlIHx8ICFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCAhbmFtZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZS5tYXAodiA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2VyaWFsaXplZFZhbHVlID0gc3RyaW5naWZ5QXNWYWx1ZSh2LCBpdGVtVG9TdHJpbmdWYWx1ZSk7XG4gICAgICByZXR1cm4gLyojX19QVVJFX18qL19qc3goXCJpbnB1dFwiLCB7XG4gICAgICAgIHR5cGU6IFwiaGlkZGVuXCIsXG4gICAgICAgIGZvcm06IGZvcm0sXG4gICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgIHZhbHVlOiBjdXJyZW50U2VyaWFsaXplZFZhbHVlXG4gICAgICB9LCBjdXJyZW50U2VyaWFsaXplZFZhbHVlKTtcbiAgICB9KTtcbiAgfSwgW211bHRpcGxlLCB2YWx1ZSwgZm9ybSwgbmFtZSwgaXRlbVRvU3RyaW5nVmFsdWVdKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9fanN4KFNlbGVjdFJvb3RDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgdmFsdWU6IGNvbnRleHRWYWx1ZSxcbiAgICBjaGlsZHJlbjogLyojX19QVVJFX18qL19qc3hzKFNlbGVjdEZsb2F0aW5nQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgdmFsdWU6IGZsb2F0aW5nQ29udGV4dCxcbiAgICAgIGNoaWxkcmVuOiBbY2hpbGRyZW4sIC8qI19fUFVSRV9fKi9fanN4KFwiaW5wdXRcIiwge1xuICAgICAgICAuLi52YWxpZGF0aW9uLmdldElucHV0VmFsaWRhdGlvblByb3BzKHtcbiAgICAgICAgICBvbkZvY3VzKCkge1xuICAgICAgICAgICAgLy8gTW92ZSBmb2N1cyB0byB0aGUgdHJpZ2dlciBlbGVtZW50IHdoZW4gdGhlIGhpZGRlbiBpbnB1dCBpcyBmb2N1c2VkLlxuICAgICAgICAgICAgc3RvcmUuc3RhdGUudHJpZ2dlckVsZW1lbnQ/LmZvY3VzKHtcbiAgICAgICAgICAgICAgLy8gU3VwcG9ydGVkIGluIENocm9tZSBmcm9tIDE0NCAoSmFudWFyeSAyMDI2KVxuICAgICAgICAgICAgICBmb2N1c1Zpc2libGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gSGFuZGxlIGJyb3dzZXIgYXV0b2ZpbGwuXG4gICAgICAgICAgb25DaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgICAgIC8vIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvOTAyM1xuICAgICAgICAgICAgaWYgKGV2ZW50Lm5hdGl2ZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gZXZlbnQuY3VycmVudFRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGRldGFpbHMgPSBjcmVhdGVDaGFuZ2VFdmVudERldGFpbHMoUkVBU09OUy5ub25lLCBldmVudC5uYXRpdmVFdmVudCk7XG4gICAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoKSB7XG4gICAgICAgICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIC8vIEJyb3dzZXIgYXV0b2ZpbGwgb25seSB3cml0ZXMgYSBzaW5nbGUgc2NhbGFyIHZhbHVlLlxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC8vIEhhbmRsZSBzaW5nbGUgc2VsZWN0aW9uOiBtYXRjaCBhZ2FpbnN0IHJlZ2lzdGVyZWQgdmFsdWVzIHVzaW5nIHNlcmlhbGl6YXRpb25cbiAgICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmdWYWx1ZSA9IHZhbHVlc1JlZi5jdXJyZW50LmZpbmQodiA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVHJ5IG1hdGNoaW5nIGJ5IHZhbHVlIGZpcnN0IChlLmcuLCBcIlVTXCIgZm9yIGNvdW50cnkgY29kZSlcbiAgICAgICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVWYWx1ZSA9IHN0cmluZ2lmeUFzVmFsdWUodiwgaXRlbVRvU3RyaW5nVmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmIChjYW5kaWRhdGVWYWx1ZS50b0xvd2VyQ2FzZSgpID09PSBuZXh0VmFsdWUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIEFsc28gdHJ5IG1hdGNoaW5nIGJ5IGxhYmVsIGZvciBicm93c2VyIGF1dG9maWxsIGNvbXBhdGliaWxpdHlcbiAgICAgICAgICAgICAgICAvLyAoYnJvd3NlcnMgYXV0b2ZpbGwgd2l0aCBkaXNwbGF5ZWQgdGV4dCBsaWtlIFwiVW5pdGVkIFN0YXRlc1wiLCBub3QgdGhlIHVuZGVybHlpbmcgdmFsdWUpXG4gICAgICAgICAgICAgICAgY29uc3QgY2FuZGlkYXRlTGFiZWwgPSBzdHJpbmdpZnlBc0xhYmVsKHYsIGl0ZW1Ub1N0cmluZ0xhYmVsKTtcbiAgICAgICAgICAgICAgICBpZiAoY2FuZGlkYXRlTGFiZWwudG9Mb3dlckNhc2UoKSA9PT0gbmV4dFZhbHVlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBpZiAobWF0Y2hpbmdWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgc2V0RGlydHkobWF0Y2hpbmdWYWx1ZSAhPT0gdmFsaWRpdHlEYXRhLmluaXRpYWxWYWx1ZSk7XG4gICAgICAgICAgICAgICAgc2V0VmFsdWUobWF0Y2hpbmdWYWx1ZSwgZGV0YWlscyk7XG4gICAgICAgICAgICAgICAgaWYgKHNob3VsZFZhbGlkYXRlT25DaGFuZ2UoKSkge1xuICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbi5jb21taXQobWF0Y2hpbmdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdG9yZS5zZXQoJ2ZvcmNlTW91bnQnLCB0cnVlKTtcbiAgICAgICAgICAgIHF1ZXVlTWljcm90YXNrKGhhbmRsZUNoYW5nZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgaWQ6IGdlbmVyYXRlZElkICYmIGhpZGRlbklucHV0TmFtZSA9PSBudWxsID8gYCR7Z2VuZXJhdGVkSWR9LWhpZGRlbi1pbnB1dGAgOiB1bmRlZmluZWQsXG4gICAgICAgIGZvcm06IGZvcm0sXG4gICAgICAgIG5hbWU6IGhpZGRlbklucHV0TmFtZSxcbiAgICAgICAgYXV0b0NvbXBsZXRlOiBhdXRvQ29tcGxldGUsXG4gICAgICAgIHZhbHVlOiBzZXJpYWxpemVkVmFsdWUsXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcbiAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkICYmICFoYXNNdWx0aXBsZVNlbGVjdGlvbixcbiAgICAgICAgcmVhZE9ubHk6IHJlYWRPbmx5LFxuICAgICAgICByZWY6IHJlZixcbiAgICAgICAgc3R5bGU6IG5hbWUgPyB2aXN1YWxseUhpZGRlbklucHV0IDogdmlzdWFsbHlIaWRkZW4sXG4gICAgICAgIHRhYkluZGV4OiAtMSxcbiAgICAgICAgXCJhcmlhLWhpZGRlblwiOiB0cnVlLFxuICAgICAgICBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc6IHRydWVcbiAgICAgIH0pLCBoaWRkZW5JbnB1dHNdXG4gICAgfSlcbiAgfSk7XG59Il0sIm5hbWVzIjpbIlJlYWN0IiwidmlzdWFsbHlIaWRkZW4iLCJ2aXN1YWxseUhpZGRlbklucHV0IiwidXNlTWVyZ2VkUmVmcyIsInVzZVJlZldpdGhJbml0IiwidXNlT25GaXJzdFJlbmRlciIsInVzZVByZXZpb3VzVmFsdWUiLCJ1c2VDb250cm9sbGVkIiwidXNlSXNvTGF5b3V0RWZmZWN0IiwidXNlU3RhYmxlQ2FsbGJhY2siLCJ1c2VWYWx1ZUFzUmVmIiwidXNlU3RvcmUiLCJTdG9yZSIsIkVNUFRZX0FSUkFZIiwiRU1QVFlfT0JKRUNUIiwidXNlQ2xpY2siLCJ1c2VEaXNtaXNzIiwidXNlRmxvYXRpbmdSb290Q29udGV4dCIsInVzZUludGVyYWN0aW9ucyIsInVzZUxpc3ROYXZpZ2F0aW9uIiwidXNlVHlwZWFoZWFkIiwiU2VsZWN0Um9vdENvbnRleHQiLCJTZWxlY3RGbG9hdGluZ0NvbnRleHQiLCJ1c2VGaWVsZFJvb3RDb250ZXh0IiwidXNlUmVnaXN0ZXJGaWVsZENvbnRyb2wiLCJ1c2VMYWJlbGFibGVJZCIsInVzZVRyYW5zaXRpb25TdGF0dXMiLCJzZWxlY3RvcnMiLCJjcmVhdGVDaGFuZ2VFdmVudERldGFpbHMiLCJSRUFTT05TIiwidXNlT3BlbkNoYW5nZUNvbXBsZXRlIiwidXNlRm9ybUNvbnRleHQiLCJzdHJpbmdpZnlBc0xhYmVsIiwic3RyaW5naWZ5QXNWYWx1ZSIsImRlZmF1bHRJdGVtRXF1YWxpdHkiLCJmaW5kSXRlbUluZGV4IiwidXNlVmFsdWVDaGFuZ2VkIiwidXNlT3BlbkludGVyYWN0aW9uVHlwZSIsImdldE1heFNjcm9sbE9mZnNldCIsIm5vcm1hbGl6ZVNjcm9sbE9mZnNldCIsIm1lcmdlUHJvcHMiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiU2VsZWN0Um9vdCIsInByb3BzIiwiaWQiLCJ2YWx1ZSIsInZhbHVlUHJvcCIsImRlZmF1bHRWYWx1ZSIsIm9uVmFsdWVDaGFuZ2UiLCJvcGVuIiwib3BlblByb3AiLCJkZWZhdWx0T3BlbiIsIm9uT3BlbkNoYW5nZSIsIm5hbWUiLCJuYW1lUHJvcCIsImZvcm0iLCJhdXRvQ29tcGxldGUiLCJkaXNhYmxlZCIsImRpc2FibGVkUHJvcCIsInJlYWRPbmx5IiwicmVxdWlyZWQiLCJtb2RhbCIsImFjdGlvbnNSZWYiLCJpbnB1dFJlZiIsIm9uT3BlbkNoYW5nZUNvbXBsZXRlIiwiaXRlbXMiLCJtdWx0aXBsZSIsIml0ZW1Ub1N0cmluZ0xhYmVsIiwiaXRlbVRvU3RyaW5nVmFsdWUiLCJpc0l0ZW1FcXVhbFRvVmFsdWUiLCJoaWdobGlnaHRJdGVtT25Ib3ZlciIsImNoaWxkcmVuIiwiY2xlYXJFcnJvcnMiLCJzZXREaXJ0eSIsInNldFRvdWNoZWQiLCJzZXRGb2N1c2VkIiwic2hvdWxkVmFsaWRhdGVPbkNoYW5nZSIsInZhbGlkaXR5RGF0YSIsInNldEZpbGxlZCIsImZpZWxkTmFtZSIsImZpZWxkRGlzYWJsZWQiLCJ2YWxpZGF0aW9uIiwidmFsaWRhdGlvbk1vZGUiLCJnZW5lcmF0ZWRJZCIsInNldFZhbHVlVW53cmFwcGVkIiwiY29udHJvbGxlZCIsImRlZmF1bHQiLCJzdGF0ZSIsInNldE9wZW5VbndyYXBwZWQiLCJsaXN0UmVmIiwidXNlUmVmIiwibGFiZWxzUmVmIiwicG9wdXBSZWYiLCJzY3JvbGxIYW5kbGVyUmVmIiwic2Nyb2xsQXJyb3dzTW91bnRlZENvdW50UmVmIiwidmFsdWVSZWYiLCJ2YWx1ZXNSZWYiLCJ0eXBpbmdSZWYiLCJrZXlib2FyZEFjdGl2ZVJlZiIsInNlbGVjdGVkSXRlbVRleHRSZWYiLCJzZWxlY3Rpb25SZWYiLCJhbGxvd1NlbGVjdGVkTW91c2VVcCIsImFsbG93VW5zZWxlY3RlZE1vdXNlVXAiLCJhbGlnbkl0ZW1XaXRoVHJpZ2dlckFjdGl2ZVJlZiIsIm1vdW50ZWQiLCJzZXRNb3VudGVkIiwidHJhbnNpdGlvblN0YXR1cyIsIm9wZW5NZXRob2QiLCJ0cmlnZ2VyUHJvcHMiLCJpbnRlcmFjdGlvblR5cGVQcm9wcyIsInN0b3JlIiwibGFiZWxJZCIsInVuZGVmaW5lZCIsImZvcmNlTW91bnQiLCJhY3RpdmVJbmRleCIsInNlbGVjdGVkSW5kZXgiLCJwb3B1cFByb3BzIiwidHJpZ2dlckVsZW1lbnQiLCJwb3NpdGlvbmVyRWxlbWVudCIsImxpc3RFbGVtZW50Iiwic2Nyb2xsVXBBcnJvd1Zpc2libGUiLCJzY3JvbGxEb3duQXJyb3dWaXNpYmxlIiwiaGFzU2Nyb2xsQXJyb3dzIiwiY3VycmVudCIsInByZXZpb3VzT3Blbk1ldGhvZCIsInJlbmRlcmVkT3Blbk1ldGhvZCIsInNlcmlhbGl6ZWRWYWx1ZSIsInVzZU1lbW8iLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJmaWVsZFN0cmluZ1ZhbHVlIiwibWFwIiwiY3VycmVudFZhbHVlIiwiY29udHJvbFJlZiIsImdldEZpZWxkVmFsdWUiLCJnZXRWYWx1ZSIsImluaXRpYWxWYWx1ZVJlZiIsInNldCIsInN5bmNTZWxlY3RlZEluZGV4IiwicmVnaXN0cnkiLCJsYXN0VmFsdWUiLCJsYXN0SW5kZXgiLCJpbmRleCIsImluaXRpYWxWYWx1ZSIsImNvbW1pdCIsInNldE9wZW4iLCJuZXh0T3BlbiIsImV2ZW50RGV0YWlscyIsImlzQ2FuY2VsZWQiLCJyZWFzb24iLCJmb2N1c091dCIsIm91dHNpZGVQcmVzcyIsImFjdGl2ZU9wdGlvbiIsInF1ZXVlTWljcm90YXNrIiwic2V0QXR0cmlidXRlIiwiaGFuZGxlVW5tb3VudCIsInVwZGF0ZSIsImVuYWJsZWQiLCJyZWYiLCJvbkNvbXBsZXRlIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInVubW91bnQiLCJzZXRWYWx1ZSIsIm5leHRWYWx1ZSIsImhhbmRsZVNjcm9sbEFycm93VmlzaWJpbGl0eSIsInNjcm9sbGVyIiwibWF4U2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0Iiwic2Nyb2xsVG9wIiwic2hvdWxkU2hvd1VwIiwic2hvdWxkU2hvd0Rvd24iLCJmbG9hdGluZ0NvbnRleHQiLCJlbGVtZW50cyIsInJlZmVyZW5jZSIsImZsb2F0aW5nIiwiY2xpY2siLCJldmVudCIsImRpc21pc3MiLCJidWJibGVzIiwibGlzdE5hdmlnYXRpb24iLCJkaXNhYmxlZEluZGljZXMiLCJvbk5hdmlnYXRlIiwibmV4dEFjdGl2ZUluZGV4IiwiZm9jdXNJdGVtT25Ib3ZlciIsInR5cGVhaGVhZCIsIm9uTWF0Y2giLCJvblR5cGluZ0NoYW5nZSIsInR5cGluZyIsImdldFJlZmVyZW5jZVByb3BzIiwiZ2V0RmxvYXRpbmdQcm9wcyIsImdldEl0ZW1Qcm9wcyIsIm1lcmdlZFRyaWdnZXJQcm9wcyIsImNvbnRleHRWYWx1ZSIsImV2ZW50cyIsImNvbnRleHQiLCJoYXNNdWx0aXBsZVNlbGVjdGlvbiIsImhpZGRlbklucHV0TmFtZSIsImhpZGRlbklucHV0cyIsInYiLCJjdXJyZW50U2VyaWFsaXplZFZhbHVlIiwidHlwZSIsIlByb3ZpZGVyIiwiZ2V0SW5wdXRWYWxpZGF0aW9uUHJvcHMiLCJvbkZvY3VzIiwiZm9jdXMiLCJmb2N1c1Zpc2libGUiLCJvbkNoYW5nZSIsIm5hdGl2ZUV2ZW50IiwiZGVmYXVsdFByZXZlbnRlZCIsImN1cnJlbnRUYXJnZXQiLCJkZXRhaWxzIiwibm9uZSIsImhhbmRsZUNoYW5nZSIsIm1hdGNoaW5nVmFsdWUiLCJmaW5kIiwiY2FuZGlkYXRlVmFsdWUiLCJ0b0xvd2VyQ2FzZSIsImNhbmRpZGF0ZUxhYmVsIiwic3R5bGUiLCJ0YWJJbmRleCIsInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyJdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/root/SelectRoot.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/root/SelectRootContext.js":
/*!**************************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/root/SelectRootContext.js ***!
\**************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectFloatingContext: () => (/* binding */ SelectFloatingContext),\n/* harmony export */ SelectRootContext: () => (/* binding */ SelectRootContext),\n/* harmony export */ useSelectFloatingContext: () => (/* binding */ useSelectFloatingContext),\n/* harmony export */ useSelectRootContext: () => (/* binding */ useSelectRootContext)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* __next_internal_client_entry_do_not_use__ SelectRootContext,SelectFloatingContext,useSelectRootContext,useSelectFloatingContext auto */ \n\nconst SelectRootContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\nif (true) SelectRootContext.displayName = \"SelectRootContext\";\nconst SelectFloatingContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\nif (true) SelectFloatingContext.displayName = \"SelectFloatingContext\";\nfunction useSelectRootContext() {\n const context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(SelectRootContext);\n if (context === null) {\n throw new Error( true ? 'Base UI: SelectRootContext is missing. Select parts must be placed within .' : 0);\n }\n return context;\n}\nfunction useSelectFloatingContext() {\n const context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(SelectFloatingContext);\n if (context === null) {\n throw new Error( true ? 'Base UI: SelectFloatingContext is missing. Select parts must be placed within .' : 0);\n }\n return context;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9yb290L1NlbGVjdFJvb3RDb250ZXh0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OzJJQUVvRTtBQUNyQztBQUN4QixNQUFNRSxvQkFBb0IsV0FBVyxHQUFFRCxnREFBbUIsQ0FBQyxNQUFNO0FBQ3hFLElBQUlHLElBQXFDLEVBQUVGLGtCQUFrQkcsV0FBVyxHQUFHO0FBQ3BFLE1BQU1DLHdCQUF3QixXQUFXLEdBQUVMLGdEQUFtQixDQUFDLE1BQU07QUFDNUUsSUFBSUcsSUFBcUMsRUFBRUUsc0JBQXNCRCxXQUFXLEdBQUc7QUFDeEUsU0FBU0U7SUFDZCxNQUFNQyxVQUFVUCw2Q0FBZ0IsQ0FBQ0M7SUFDakMsSUFBSU0sWUFBWSxNQUFNO1FBQ3BCLE1BQU0sSUFBSUUsTUFBTU4sS0FBcUMsR0FBRyw2RkFBNkZKLENBQXVCO0lBQzlLO0lBQ0EsT0FBT1E7QUFDVDtBQUNPLFNBQVNHO0lBQ2QsTUFBTUgsVUFBVVAsNkNBQWdCLENBQUNLO0lBQ2pDLElBQUlFLFlBQVksTUFBTTtRQUNwQixNQUFNLElBQUlFLE1BQU1OLEtBQXFDLEdBQUcsaUdBQWlHSixDQUF1QjtJQUNsTDtJQUNBLE9BQU9RO0FBQ1QiLCJzb3VyY2VzIjpbIi9ob21lL3NpbHZpby9EZXZlbG9wL0NJUlVYLUFQUC9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9yb290L1NlbGVjdFJvb3RDb250ZXh0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IF9mb3JtYXRFcnJvck1lc3NhZ2UgZnJvbSBcIkBiYXNlLXVpL3V0aWxzL2Zvcm1hdEVycm9yTWVzc2FnZVwiO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuZXhwb3J0IGNvbnN0IFNlbGVjdFJvb3RDb250ZXh0ID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUNvbnRleHQobnVsbCk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSBTZWxlY3RSb290Q29udGV4dC5kaXNwbGF5TmFtZSA9IFwiU2VsZWN0Um9vdENvbnRleHRcIjtcbmV4cG9ydCBjb25zdCBTZWxlY3RGbG9hdGluZ0NvbnRleHQgPSAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlQ29udGV4dChudWxsKTtcbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIFNlbGVjdEZsb2F0aW5nQ29udGV4dC5kaXNwbGF5TmFtZSA9IFwiU2VsZWN0RmxvYXRpbmdDb250ZXh0XCI7XG5leHBvcnQgZnVuY3Rpb24gdXNlU2VsZWN0Um9vdENvbnRleHQoKSB7XG4gIGNvbnN0IGNvbnRleHQgPSBSZWFjdC51c2VDb250ZXh0KFNlbGVjdFJvb3RDb250ZXh0KTtcbiAgaWYgKGNvbnRleHQgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gJ0Jhc2UgVUk6IFNlbGVjdFJvb3RDb250ZXh0IGlzIG1pc3NpbmcuIFNlbGVjdCBwYXJ0cyBtdXN0IGJlIHBsYWNlZCB3aXRoaW4gPFNlbGVjdC5Sb290Pi4nIDogX2Zvcm1hdEVycm9yTWVzc2FnZSg2MCkpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlbGVjdEZsb2F0aW5nQ29udGV4dCgpIHtcbiAgY29uc3QgY29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoU2VsZWN0RmxvYXRpbmdDb250ZXh0KTtcbiAgaWYgKGNvbnRleHQgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gJ0Jhc2UgVUk6IFNlbGVjdEZsb2F0aW5nQ29udGV4dCBpcyBtaXNzaW5nLiBTZWxlY3QgcGFydHMgbXVzdCBiZSBwbGFjZWQgd2l0aGluIDxTZWxlY3QuUm9vdD4uJyA6IF9mb3JtYXRFcnJvck1lc3NhZ2UoNjEpKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn0iXSwibmFtZXMiOlsiX2Zvcm1hdEVycm9yTWVzc2FnZSIsIlJlYWN0IiwiU2VsZWN0Um9vdENvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIiwiU2VsZWN0RmxvYXRpbmdDb250ZXh0IiwidXNlU2VsZWN0Um9vdENvbnRleHQiLCJjb250ZXh0IiwidXNlQ29udGV4dCIsIkVycm9yIiwidXNlU2VsZWN0RmxvYXRpbmdDb250ZXh0Il0sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/root/SelectRootContext.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/scroll-arrow/SelectScrollArrow.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/scroll-arrow/SelectScrollArrow.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectScrollArrow: () => (/* binding */ SelectScrollArrow)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _base_ui_utils_useTimeout__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @base-ui/utils/useTimeout */ \"(ssr)/./node_modules/@base-ui/utils/esm/useTimeout.js\");\n/* harmony import */ var _base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @base-ui/utils/store */ \"(ssr)/./node_modules/@base-ui/utils/esm/store/useStore.js\");\n/* harmony import */ var _base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @base-ui/utils/useIsoLayoutEffect */ \"(ssr)/./node_modules/@base-ui/utils/esm/useIsoLayoutEffect.js\");\n/* harmony import */ var _root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../root/SelectRootContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/root/SelectRootContext.js\");\n/* harmony import */ var _positioner_SelectPositionerContext_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../positioner/SelectPositionerContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/positioner/SelectPositionerContext.js\");\n/* harmony import */ var _internals_useTransitionStatus_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../internals/useTransitionStatus.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/useTransitionStatus.js\");\n/* harmony import */ var _internals_useOpenChangeComplete_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../internals/useOpenChangeComplete.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/useOpenChangeComplete.js\");\n/* harmony import */ var _internals_useRenderElement_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../internals/useRenderElement.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/useRenderElement.js\");\n/* harmony import */ var _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/scrollEdges.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/scrollEdges.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../store.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/store.js\");\n/* __next_internal_client_entry_do_not_use__ SelectScrollArrow auto */ \n\n\n\n\n\n\n\n\n\n\n/**\n * @internal\n */ const SelectScrollArrow = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function SelectScrollArrow(componentProps, forwardedRef) {\n const { render, className, style, direction, keepMounted = false, ...elementProps } = componentProps;\n const isUp = direction === 'up';\n const { store, popupRef, listRef, handleScrollArrowVisibility, scrollArrowsMountedCountRef } = (0,_root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_1__.useSelectRootContext)();\n const { side, scrollDownArrowRef, scrollUpArrowRef } = (0,_positioner_SelectPositionerContext_js__WEBPACK_IMPORTED_MODULE_2__.useSelectPositionerContext)();\n const visibleSelector = isUp ? _store_js__WEBPACK_IMPORTED_MODULE_3__.selectors.scrollUpArrowVisible : _store_js__WEBPACK_IMPORTED_MODULE_3__.selectors.scrollDownArrowVisible;\n const stateVisible = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, visibleSelector);\n const openMethod = (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(store, _store_js__WEBPACK_IMPORTED_MODULE_3__.selectors.openMethod);\n // Scroll arrows are disabled for touch modality as they are a hover-only element.\n const visible = stateVisible && openMethod !== 'touch';\n const timeout = (0,_base_ui_utils_useTimeout__WEBPACK_IMPORTED_MODULE_5__.useTimeout)();\n const scrollArrowRef = isUp ? scrollUpArrowRef : scrollDownArrowRef;\n const { transitionStatus, setMounted } = (0,_internals_useTransitionStatus_js__WEBPACK_IMPORTED_MODULE_6__.useTransitionStatus)(visible);\n (0,_base_ui_utils_useIsoLayoutEffect__WEBPACK_IMPORTED_MODULE_7__.useIsoLayoutEffect)({\n \"SelectScrollArrow.SelectScrollArrow.useIsoLayoutEffect\": ()=>{\n scrollArrowsMountedCountRef.current += 1;\n if (!store.state.hasScrollArrows) {\n store.set('hasScrollArrows', true);\n }\n return ({\n \"SelectScrollArrow.SelectScrollArrow.useIsoLayoutEffect\": ()=>{\n scrollArrowsMountedCountRef.current = Math.max(0, scrollArrowsMountedCountRef.current - 1);\n if (scrollArrowsMountedCountRef.current === 0 && store.state.hasScrollArrows) {\n store.set('hasScrollArrows', false);\n }\n }\n })[\"SelectScrollArrow.SelectScrollArrow.useIsoLayoutEffect\"];\n }\n }[\"SelectScrollArrow.SelectScrollArrow.useIsoLayoutEffect\"], [\n store,\n scrollArrowsMountedCountRef\n ]);\n (0,_internals_useOpenChangeComplete_js__WEBPACK_IMPORTED_MODULE_8__.useOpenChangeComplete)({\n open: visible,\n ref: scrollArrowRef,\n onComplete () {\n if (!visible) {\n setMounted(false);\n }\n }\n });\n const state = {\n direction,\n visible,\n side,\n transitionStatus\n };\n const defaultProps = {\n 'aria-hidden': true,\n children: isUp ? '▲' : '▼',\n style: {\n position: 'absolute'\n },\n onMouseMove (event) {\n if (event.movementX === 0 && event.movementY === 0 || timeout.isStarted()) {\n return;\n }\n store.set('activeIndex', null);\n function scrollNextItem() {\n const scroller = store.state.listElement ?? popupRef.current;\n if (!scroller) {\n return;\n }\n store.set('activeIndex', null);\n handleScrollArrowVisibility();\n const maxScrollTop = (0,_utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_9__.getMaxScrollOffset)(scroller.scrollHeight, scroller.clientHeight);\n const scrollTop = (0,_utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_9__.normalizeScrollOffset)(scroller.scrollTop, maxScrollTop);\n const isScrolledToEdge = scrollTop === (isUp ? 0 : maxScrollTop);\n const items = listRef.current;\n if (scrollTop !== scroller.scrollTop) {\n scroller.scrollTop = scrollTop;\n }\n // Fallback when there are no items registered yet.\n if (items.length === 0) {\n store.set(isUp ? 'scrollUpArrowVisible' : 'scrollDownArrowVisible', !isScrolledToEdge);\n }\n if (isScrolledToEdge) {\n timeout.clear();\n return;\n }\n if (items.length > 0) {\n const scrollArrowHeight = scrollArrowRef.current?.offsetHeight || 0;\n scroller.scrollTop = getTargetScrollTop(items, isUp, scrollTop, scroller.clientHeight, scrollArrowHeight, maxScrollTop);\n }\n timeout.start(40, scrollNextItem);\n }\n timeout.start(40, scrollNextItem);\n },\n onMouseLeave () {\n timeout.clear();\n }\n };\n const element = (0,_internals_useRenderElement_js__WEBPACK_IMPORTED_MODULE_10__.useRenderElement)('div', componentProps, {\n ref: [\n forwardedRef,\n scrollArrowRef\n ],\n state,\n props: [\n defaultProps,\n elementProps\n ]\n });\n const shouldRender = visible || keepMounted;\n if (!shouldRender) {\n return null;\n }\n return element;\n});\nif (true) SelectScrollArrow.displayName = \"SelectScrollArrow\";\nfunction getTargetScrollTop(items, isUp, scrollTop, clientHeight, scrollArrowHeight, maxScrollTop) {\n if (isUp) {\n let firstVisibleIndex = 0;\n const visibleTop = scrollTop + scrollArrowHeight - _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_9__.SCROLL_EDGE_TOLERANCE_PX;\n for(let i = 0; i < items.length; i += 1){\n const item = items[i];\n if (item && item.offsetTop >= visibleTop) {\n firstVisibleIndex = i;\n break;\n }\n }\n const targetIndex = Math.max(0, firstVisibleIndex - 1);\n const targetItem = items[targetIndex];\n return targetIndex < firstVisibleIndex && targetItem ? (0,_utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_9__.normalizeScrollOffset)(targetItem.offsetTop - scrollArrowHeight, maxScrollTop) : 0;\n }\n let lastVisibleIndex = items.length - 1;\n const visibleBottom = scrollTop + clientHeight - scrollArrowHeight + _utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_9__.SCROLL_EDGE_TOLERANCE_PX;\n for(let i = 0; i < items.length; i += 1){\n const item = items[i];\n if (item && item.offsetTop + item.offsetHeight > visibleBottom) {\n lastVisibleIndex = Math.max(0, i - 1);\n break;\n }\n }\n const targetIndex = Math.min(items.length - 1, lastVisibleIndex + 1);\n const targetItem = items[targetIndex];\n return targetIndex > lastVisibleIndex && targetItem ? (0,_utils_scrollEdges_js__WEBPACK_IMPORTED_MODULE_9__.normalizeScrollOffset)(targetItem.offsetTop + targetItem.offsetHeight - clientHeight + scrollArrowHeight, maxScrollTop) : maxScrollTop;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9zY3JvbGwtYXJyb3cvU2VsZWN0U2Nyb2xsQXJyb3cuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O3VFQUUrQjtBQUN3QjtBQUNQO0FBQ3VCO0FBQ0g7QUFDa0I7QUFDVDtBQUNJO0FBQ1Y7QUFDMEM7QUFDekU7QUFFeEM7O0NBRUMsR0FDTSxNQUFNYSxvQkFBb0IsV0FBVyxHQUFFYiw2Q0FBZ0IsQ0FBQyxTQUFTYSxrQkFBa0JFLGNBQWMsRUFBRUMsWUFBWTtJQUNwSCxNQUFNLEVBQ0pDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxLQUFLLEVBQ0xDLFNBQVMsRUFDVEMsY0FBYyxLQUFLLEVBQ25CLEdBQUdDLGNBQ0osR0FBR1A7SUFDSixNQUFNUSxPQUFPSCxjQUFjO0lBQzNCLE1BQU0sRUFDSkksS0FBSyxFQUNMQyxRQUFRLEVBQ1JDLE9BQU8sRUFDUEMsMkJBQTJCLEVBQzNCQywyQkFBMkIsRUFDNUIsR0FBR3hCLGdGQUFvQkE7SUFDeEIsTUFBTSxFQUNKeUIsSUFBSSxFQUNKQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNqQixHQUFHMUIsa0dBQTBCQTtJQUM5QixNQUFNMkIsa0JBQWtCVCxPQUFPWCxnREFBU0EsQ0FBQ3FCLG9CQUFvQixHQUFHckIsZ0RBQVNBLENBQUNzQixzQkFBc0I7SUFDaEcsTUFBTUMsZUFBZWpDLDhEQUFRQSxDQUFDc0IsT0FBT1E7SUFDckMsTUFBTUksYUFBYWxDLDhEQUFRQSxDQUFDc0IsT0FBT1osZ0RBQVNBLENBQUN3QixVQUFVO0lBRXZELGtGQUFrRjtJQUNsRixNQUFNQyxVQUFVRixnQkFBZ0JDLGVBQWU7SUFDL0MsTUFBTUUsVUFBVXJDLHFFQUFVQTtJQUMxQixNQUFNc0MsaUJBQWlCaEIsT0FBT1EsbUJBQW1CRDtJQUNqRCxNQUFNLEVBQ0pVLGdCQUFnQixFQUNoQkMsVUFBVSxFQUNYLEdBQUduQyxzRkFBbUJBLENBQUMrQjtJQUN4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QUssQ0FBQ2tCLFlBQVk7SUFDckMsT0FBT0EsY0FBY0Usb0JBQW9CRCxhQUFhNUUsNEVBQXFCQSxDQUFDNEUsV0FBV0YsU0FBUyxHQUFHRSxXQUFXZixZQUFZLEdBQUdQLGVBQWVNLG1CQUFtQlIsZ0JBQWdCQTtBQUNqTCIsInNvdXJjZXMiOlsiL2hvbWUvc2lsdmlvL0RldmVsb3AvQ0lSVVgtQVBQL25vZGVfbW9kdWxlcy9AYmFzZS11aS9yZWFjdC9lc20vc2VsZWN0L3Njcm9sbC1hcnJvdy9TZWxlY3RTY3JvbGxBcnJvdy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVRpbWVvdXQgfSBmcm9tICdAYmFzZS11aS91dGlscy91c2VUaW1lb3V0JztcbmltcG9ydCB7IHVzZVN0b3JlIH0gZnJvbSAnQGJhc2UtdWkvdXRpbHMvc3RvcmUnO1xuaW1wb3J0IHsgdXNlSXNvTGF5b3V0RWZmZWN0IH0gZnJvbSAnQGJhc2UtdWkvdXRpbHMvdXNlSXNvTGF5b3V0RWZmZWN0JztcbmltcG9ydCB7IHVzZVNlbGVjdFJvb3RDb250ZXh0IH0gZnJvbSBcIi4uL3Jvb3QvU2VsZWN0Um9vdENvbnRleHQuanNcIjtcbmltcG9ydCB7IHVzZVNlbGVjdFBvc2l0aW9uZXJDb250ZXh0IH0gZnJvbSBcIi4uL3Bvc2l0aW9uZXIvU2VsZWN0UG9zaXRpb25lckNvbnRleHQuanNcIjtcbmltcG9ydCB7IHVzZVRyYW5zaXRpb25TdGF0dXMgfSBmcm9tIFwiLi4vLi4vaW50ZXJuYWxzL3VzZVRyYW5zaXRpb25TdGF0dXMuanNcIjtcbmltcG9ydCB7IHVzZU9wZW5DaGFuZ2VDb21wbGV0ZSB9IGZyb20gXCIuLi8uLi9pbnRlcm5hbHMvdXNlT3BlbkNoYW5nZUNvbXBsZXRlLmpzXCI7XG5pbXBvcnQgeyB1c2VSZW5kZXJFbGVtZW50IH0gZnJvbSBcIi4uLy4uL2ludGVybmFscy91c2VSZW5kZXJFbGVtZW50LmpzXCI7XG5pbXBvcnQgeyBnZXRNYXhTY3JvbGxPZmZzZXQsIG5vcm1hbGl6ZVNjcm9sbE9mZnNldCwgU0NST0xMX0VER0VfVE9MRVJBTkNFX1BYIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3Njcm9sbEVkZ2VzLmpzXCI7XG5pbXBvcnQgeyBzZWxlY3RvcnMgfSBmcm9tIFwiLi4vc3RvcmUuanNcIjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdFNjcm9sbEFycm93ID0gLyojX19QVVJFX18qL1JlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gU2VsZWN0U2Nyb2xsQXJyb3coY29tcG9uZW50UHJvcHMsIGZvcndhcmRlZFJlZikge1xuICBjb25zdCB7XG4gICAgcmVuZGVyLFxuICAgIGNsYXNzTmFtZSxcbiAgICBzdHlsZSxcbiAgICBkaXJlY3Rpb24sXG4gICAga2VlcE1vdW50ZWQgPSBmYWxzZSxcbiAgICAuLi5lbGVtZW50UHJvcHNcbiAgfSA9IGNvbXBvbmVudFByb3BzO1xuICBjb25zdCBpc1VwID0gZGlyZWN0aW9uID09PSAndXAnO1xuICBjb25zdCB7XG4gICAgc3RvcmUsXG4gICAgcG9wdXBSZWYsXG4gICAgbGlzdFJlZixcbiAgICBoYW5kbGVTY3JvbGxBcnJvd1Zpc2liaWxpdHksXG4gICAgc2Nyb2xsQXJyb3dzTW91bnRlZENvdW50UmVmXG4gIH0gPSB1c2VTZWxlY3RSb290Q29udGV4dCgpO1xuICBjb25zdCB7XG4gICAgc2lkZSxcbiAgICBzY3JvbGxEb3duQXJyb3dSZWYsXG4gICAgc2Nyb2xsVXBBcnJvd1JlZlxuICB9ID0gdXNlU2VsZWN0UG9zaXRpb25lckNvbnRleHQoKTtcbiAgY29uc3QgdmlzaWJsZVNlbGVjdG9yID0gaXNVcCA/IHNlbGVjdG9ycy5zY3JvbGxVcEFycm93VmlzaWJsZSA6IHNlbGVjdG9ycy5zY3JvbGxEb3duQXJyb3dWaXNpYmxlO1xuICBjb25zdCBzdGF0ZVZpc2libGUgPSB1c2VTdG9yZShzdG9yZSwgdmlzaWJsZVNlbGVjdG9yKTtcbiAgY29uc3Qgb3Blbk1ldGhvZCA9IHVzZVN0b3JlKHN0b3JlLCBzZWxlY3RvcnMub3Blbk1ldGhvZCk7XG5cbiAgLy8gU2Nyb2xsIGFycm93cyBhcmUgZGlzYWJsZWQgZm9yIHRvdWNoIG1vZGFsaXR5IGFzIHRoZXkgYXJlIGEgaG92ZXItb25seSBlbGVtZW50LlxuICBjb25zdCB2aXNpYmxlID0gc3RhdGVWaXNpYmxlICYmIG9wZW5NZXRob2QgIT09ICd0b3VjaCc7XG4gIGNvbnN0IHRpbWVvdXQgPSB1c2VUaW1lb3V0KCk7XG4gIGNvbnN0IHNjcm9sbEFycm93UmVmID0gaXNVcCA/IHNjcm9sbFVwQXJyb3dSZWYgOiBzY3JvbGxEb3duQXJyb3dSZWY7XG4gIGNvbnN0IHtcbiAgICB0cmFuc2l0aW9uU3RhdHVzLFxuICAgIHNldE1vdW50ZWRcbiAgfSA9IHVzZVRyYW5zaXRpb25TdGF0dXModmlzaWJsZSk7XG4gIHVzZUlzb0xheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgc2Nyb2xsQXJyb3dzTW91bnRlZENvdW50UmVmLmN1cnJlbnQgKz0gMTtcbiAgICBpZiAoIXN0b3JlLnN0YXRlLmhhc1Njcm9sbEFycm93cykge1xuICAgICAgc3RvcmUuc2V0KCdoYXNTY3JvbGxBcnJvd3MnLCB0cnVlKTtcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHNjcm9sbEFycm93c01vdW50ZWRDb3VudFJlZi5jdXJyZW50ID0gTWF0aC5tYXgoMCwgc2Nyb2xsQXJyb3dzTW91bnRlZENvdW50UmVmLmN1cnJlbnQgLSAxKTtcbiAgICAgIGlmIChzY3JvbGxBcnJvd3NNb3VudGVkQ291bnRSZWYuY3VycmVudCA9PT0gMCAmJiBzdG9yZS5zdGF0ZS5oYXNTY3JvbGxBcnJvd3MpIHtcbiAgICAgICAgc3RvcmUuc2V0KCdoYXNTY3JvbGxBcnJvd3MnLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3N0b3JlLCBzY3JvbGxBcnJvd3NNb3VudGVkQ291bnRSZWZdKTtcbiAgdXNlT3BlbkNoYW5nZUNvbXBsZXRlKHtcbiAgICBvcGVuOiB2aXNpYmxlLFxuICAgIHJlZjogc2Nyb2xsQXJyb3dSZWYsXG4gICAgb25Db21wbGV0ZSgpIHtcbiAgICAgIGlmICghdmlzaWJsZSkge1xuICAgICAgICBzZXRNb3VudGVkKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBjb25zdCBzdGF0ZSA9IHtcbiAgICBkaXJlY3Rpb24sXG4gICAgdmlzaWJsZSxcbiAgICBzaWRlLFxuICAgIHRyYW5zaXRpb25TdGF0dXNcbiAgfTtcbiAgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAgICdhcmlhLWhpZGRlbic6IHRydWUsXG4gICAgY2hpbGRyZW46IGlzVXAgPyAn4payJyA6ICfilrwnLFxuICAgIHN0eWxlOiB7XG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgIH0sXG4gICAgb25Nb3VzZU1vdmUoZXZlbnQpIHtcbiAgICAgIGlmIChldmVudC5tb3ZlbWVudFggPT09IDAgJiYgZXZlbnQubW92ZW1lbnRZID09PSAwIHx8IHRpbWVvdXQuaXNTdGFydGVkKCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgc3RvcmUuc2V0KCdhY3RpdmVJbmRleCcsIG51bGwpO1xuICAgICAgZnVuY3Rpb24gc2Nyb2xsTmV4dEl0ZW0oKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbGVyID0gc3RvcmUuc3RhdGUubGlzdEVsZW1lbnQgPz8gcG9wdXBSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKCFzY3JvbGxlcikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdG9yZS5zZXQoJ2FjdGl2ZUluZGV4JywgbnVsbCk7XG4gICAgICAgIGhhbmRsZVNjcm9sbEFycm93VmlzaWJpbGl0eSgpO1xuICAgICAgICBjb25zdCBtYXhTY3JvbGxUb3AgPSBnZXRNYXhTY3JvbGxPZmZzZXQoc2Nyb2xsZXIuc2Nyb2xsSGVpZ2h0LCBzY3JvbGxlci5jbGllbnRIZWlnaHQpO1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSBub3JtYWxpemVTY3JvbGxPZmZzZXQoc2Nyb2xsZXIuc2Nyb2xsVG9wLCBtYXhTY3JvbGxUb3ApO1xuICAgICAgICBjb25zdCBpc1Njcm9sbGVkVG9FZGdlID0gc2Nyb2xsVG9wID09PSAoaXNVcCA/IDAgOiBtYXhTY3JvbGxUb3ApO1xuICAgICAgICBjb25zdCBpdGVtcyA9IGxpc3RSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKHNjcm9sbFRvcCAhPT0gc2Nyb2xsZXIuc2Nyb2xsVG9wKSB7XG4gICAgICAgICAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0gc2Nyb2xsVG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmFsbGJhY2sgd2hlbiB0aGVyZSBhcmUgbm8gaXRlbXMgcmVnaXN0ZXJlZCB5ZXQuXG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBzdG9yZS5zZXQoaXNVcCA/ICdzY3JvbGxVcEFycm93VmlzaWJsZScgOiAnc2Nyb2xsRG93bkFycm93VmlzaWJsZScsICFpc1Njcm9sbGVkVG9FZGdlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNTY3JvbGxlZFRvRWRnZSkge1xuICAgICAgICAgIHRpbWVvdXQuY2xlYXIoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zdCBzY3JvbGxBcnJvd0hlaWdodCA9IHNjcm9sbEFycm93UmVmLmN1cnJlbnQ/Lm9mZnNldEhlaWdodCB8fCAwO1xuICAgICAgICAgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IGdldFRhcmdldFNjcm9sbFRvcChpdGVtcywgaXNVcCwgc2Nyb2xsVG9wLCBzY3JvbGxlci5jbGllbnRIZWlnaHQsIHNjcm9sbEFycm93SGVpZ2h0LCBtYXhTY3JvbGxUb3ApO1xuICAgICAgICB9XG4gICAgICAgIHRpbWVvdXQuc3RhcnQoNDAsIHNjcm9sbE5leHRJdGVtKTtcbiAgICAgIH1cbiAgICAgIHRpbWVvdXQuc3RhcnQoNDAsIHNjcm9sbE5leHRJdGVtKTtcbiAgICB9LFxuICAgIG9uTW91c2VMZWF2ZSgpIHtcbiAgICAgIHRpbWVvdXQuY2xlYXIoKTtcbiAgICB9XG4gIH07XG4gIGNvbnN0IGVsZW1lbnQgPSB1c2VSZW5kZXJFbGVtZW50KCdkaXYnLCBjb21wb25lbnRQcm9wcywge1xuICAgIHJlZjogW2ZvcndhcmRlZFJlZiwgc2Nyb2xsQXJyb3dSZWZdLFxuICAgIHN0YXRlLFxuICAgIHByb3BzOiBbZGVmYXVsdFByb3BzLCBlbGVtZW50UHJvcHNdXG4gIH0pO1xuICBjb25zdCBzaG91bGRSZW5kZXIgPSB2aXNpYmxlIHx8IGtlZXBNb3VudGVkO1xuICBpZiAoIXNob3VsZFJlbmRlcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBlbGVtZW50O1xufSk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSBTZWxlY3RTY3JvbGxBcnJvdy5kaXNwbGF5TmFtZSA9IFwiU2VsZWN0U2Nyb2xsQXJyb3dcIjtcbmZ1bmN0aW9uIGdldFRhcmdldFNjcm9sbFRvcChpdGVtcywgaXNVcCwgc2Nyb2xsVG9wLCBjbGllbnRIZWlnaHQsIHNjcm9sbEFycm93SGVpZ2h0LCBtYXhTY3JvbGxUb3ApIHtcbiAgaWYgKGlzVXApIHtcbiAgICBsZXQgZmlyc3RWaXNpYmxlSW5kZXggPSAwO1xuICAgIGNvbnN0IHZpc2libGVUb3AgPSBzY3JvbGxUb3AgKyBzY3JvbGxBcnJvd0hlaWdodCAtIFNDUk9MTF9FREdFX1RPTEVSQU5DRV9QWDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV07XG4gICAgICBpZiAoaXRlbSAmJiBpdGVtLm9mZnNldFRvcCA+PSB2aXNpYmxlVG9wKSB7XG4gICAgICAgIGZpcnN0VmlzaWJsZUluZGV4ID0gaTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gTWF0aC5tYXgoMCwgZmlyc3RWaXNpYmxlSW5kZXggLSAxKTtcbiAgICBjb25zdCB0YXJnZXRJdGVtID0gaXRlbXNbdGFyZ2V0SW5kZXhdO1xuICAgIHJldHVybiB0YXJnZXRJbmRleCA8IGZpcnN0VmlzaWJsZUluZGV4ICYmIHRhcmdldEl0ZW0gPyBub3JtYWxpemVTY3JvbGxPZmZzZXQodGFyZ2V0SXRlbS5vZmZzZXRUb3AgLSBzY3JvbGxBcnJvd0hlaWdodCwgbWF4U2Nyb2xsVG9wKSA6IDA7XG4gIH1cbiAgbGV0IGxhc3RWaXNpYmxlSW5kZXggPSBpdGVtcy5sZW5ndGggLSAxO1xuICBjb25zdCB2aXNpYmxlQm90dG9tID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0IC0gc2Nyb2xsQXJyb3dIZWlnaHQgKyBTQ1JPTExfRURHRV9UT0xFUkFOQ0VfUFg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICBjb25zdCBpdGVtID0gaXRlbXNbaV07XG4gICAgaWYgKGl0ZW0gJiYgaXRlbS5vZmZzZXRUb3AgKyBpdGVtLm9mZnNldEhlaWdodCA+IHZpc2libGVCb3R0b20pIHtcbiAgICAgIGxhc3RWaXNpYmxlSW5kZXggPSBNYXRoLm1heCgwLCBpIC0gMSk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgY29uc3QgdGFyZ2V0SW5kZXggPSBNYXRoLm1pbihpdGVtcy5sZW5ndGggLSAxLCBsYXN0VmlzaWJsZUluZGV4ICsgMSk7XG4gIGNvbnN0IHRhcmdldEl0ZW0gPSBpdGVtc1t0YXJnZXRJbmRleF07XG4gIHJldHVybiB0YXJnZXRJbmRleCA+IGxhc3RWaXNpYmxlSW5kZXggJiYgdGFyZ2V0SXRlbSA/IG5vcm1hbGl6ZVNjcm9sbE9mZnNldCh0YXJnZXRJdGVtLm9mZnNldFRvcCArIHRhcmdldEl0ZW0ub2Zmc2V0SGVpZ2h0IC0gY2xpZW50SGVpZ2h0ICsgc2Nyb2xsQXJyb3dIZWlnaHQsIG1heFNjcm9sbFRvcCkgOiBtYXhTY3JvbGxUb3A7XG59Il0sIm5hbWVzIjpbIlJlYWN0IiwidXNlVGltZW91dCIsInVzZVN0b3JlIiwidXNlSXNvTGF5b3V0RWZmZWN0IiwidXNlU2VsZWN0Um9vdENvbnRleHQiLCJ1c2VTZWxlY3RQb3NpdGlvbmVyQ29udGV4dCIsInVzZVRyYW5zaXRpb25TdGF0dXMiLCJ1c2VPcGVuQ2hhbmdlQ29tcGxldGUiLCJ1c2VSZW5kZXJFbGVtZW50IiwiZ2V0TWF4U2Nyb2xsT2Zmc2V0Iiwibm9ybWFsaXplU2Nyb2xsT2Zmc2V0IiwiU0NST0xMX0VER0VfVE9MRVJBTkNFX1BYIiwic2VsZWN0b3JzIiwiU2VsZWN0U2Nyb2xsQXJyb3ciLCJmb3J3YXJkUmVmIiwiY29tcG9uZW50UHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJzdHlsZSIsImRpcmVjdGlvbiIsImtlZXBNb3VudGVkIiwiZWxlbWVudFByb3BzIiwiaXNVcCIsInN0b3JlIiwicG9wdXBSZWYiLCJsaXN0UmVmIiwiaGFuZGxlU2Nyb2xsQXJyb3dWaXNpYmlsaXR5Iiwic2Nyb2xsQXJyb3dzTW91bnRlZENvdW50UmVmIiwic2lkZSIsInNjcm9sbERvd25BcnJvd1JlZiIsInNjcm9sbFVwQXJyb3dSZWYiLCJ2aXNpYmxlU2VsZWN0b3IiLCJzY3JvbGxVcEFycm93VmlzaWJsZSIsInNjcm9sbERvd25BcnJvd1Zpc2libGUiLCJzdGF0ZVZpc2libGUiLCJvcGVuTWV0aG9kIiwidmlzaWJsZSIsInRpbWVvdXQiLCJzY3JvbGxBcnJvd1JlZiIsInRyYW5zaXRpb25TdGF0dXMiLCJzZXRNb3VudGVkIiwiY3VycmVudCIsInN0YXRlIiwiaGFzU2Nyb2xsQXJyb3dzIiwic2V0IiwiTWF0aCIsIm1heCIsIm9wZW4iLCJyZWYiLCJvbkNvbXBsZXRlIiwiZGVmYXVsdFByb3BzIiwiY2hpbGRyZW4iLCJwb3NpdGlvbiIsIm9uTW91c2VNb3ZlIiwiZXZlbnQiLCJtb3ZlbWVudFgiLCJtb3ZlbWVudFkiLCJpc1N0YXJ0ZWQiLCJzY3JvbGxOZXh0SXRlbSIsInNjcm9sbGVyIiwibGlzdEVsZW1lbnQiLCJtYXhTY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJzY3JvbGxUb3AiLCJpc1Njcm9sbGVkVG9FZGdlIiwiaXRlbXMiLCJsZW5ndGgiLCJjbGVhciIsInNjcm9sbEFycm93SGVpZ2h0Iiwib2Zmc2V0SGVpZ2h0IiwiZ2V0VGFyZ2V0U2Nyb2xsVG9wIiwic3RhcnQiLCJvbk1vdXNlTGVhdmUiLCJlbGVtZW50IiwicHJvcHMiLCJzaG91bGRSZW5kZXIiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiLCJmaXJzdFZpc2libGVJbmRleCIsInZpc2libGVUb3AiLCJpIiwiaXRlbSIsIm9mZnNldFRvcCIsInRhcmdldEluZGV4IiwidGFyZ2V0SXRlbSIsImxhc3RWaXNpYmxlSW5kZXgiLCJ2aXNpYmxlQm90dG9tIiwibWluIl0sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/scroll-arrow/SelectScrollArrow.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/scroll-down-arrow/SelectScrollDownArrow.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/scroll-down-arrow/SelectScrollDownArrow.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectScrollDownArrow: () => (/* binding */ SelectScrollDownArrow)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _scroll_arrow_SelectScrollArrow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../scroll-arrow/SelectScrollArrow.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/scroll-arrow/SelectScrollArrow.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ SelectScrollDownArrow auto */ \n\n\n/**\n * An element that scrolls the select popup down when hovered. Does not render when using touch input.\n * Renders a `` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */ const SelectScrollDownArrow = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function SelectScrollDownArrow(props, forwardedRef) {\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_scroll_arrow_SelectScrollArrow_js__WEBPACK_IMPORTED_MODULE_2__.SelectScrollArrow, {\n ...props,\n ref: forwardedRef,\n direction: \"down\"\n });\n});\nif (true) SelectScrollDownArrow.displayName = \"SelectScrollDownArrow\";\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9zY3JvbGwtZG93bi1hcnJvdy9TZWxlY3RTY3JvbGxEb3duQXJyb3cuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OzsyRUFFK0I7QUFDMEM7QUFDekI7QUFDaEQ7Ozs7O0NBS0MsR0FDTSxNQUFNSSx3QkFBd0IsV0FBVyxHQUFFSiw2Q0FBZ0IsQ0FBQyxTQUFTSSxzQkFBc0JFLEtBQUssRUFBRUMsWUFBWTtJQUNuSCxPQUFPLFdBQVcsR0FBRUosc0RBQUlBLENBQUNGLGlGQUFpQkEsRUFBRTtRQUMxQyxHQUFHSyxLQUFLO1FBQ1JFLEtBQUtEO1FBQ0xFLFdBQVc7SUFDYjtBQUNGLEdBQUc7QUFDSCxJQUFJQyxJQUFxQyxFQUFFTixzQkFBc0JPLFdBQVcsR0FBRyIsInNvdXJjZXMiOlsiL2hvbWUvc2lsdmlvL0RldmVsb3AvQ0lSVVgtQVBQL25vZGVfbW9kdWxlcy9AYmFzZS11aS9yZWFjdC9lc20vc2VsZWN0L3Njcm9sbC1kb3duLWFycm93L1NlbGVjdFNjcm9sbERvd25BcnJvdy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFNlbGVjdFNjcm9sbEFycm93IH0gZnJvbSBcIi4uL3Njcm9sbC1hcnJvdy9TZWxlY3RTY3JvbGxBcnJvdy5qc1wiO1xuaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbi8qKlxuICogQW4gZWxlbWVudCB0aGF0IHNjcm9sbHMgdGhlIHNlbGVjdCBwb3B1cCBkb3duIHdoZW4gaG92ZXJlZC4gRG9lcyBub3QgcmVuZGVyIHdoZW4gdXNpbmcgdG91Y2ggaW5wdXQuXG4gKiBSZW5kZXJzIGEgYDxkaXY+YCBlbGVtZW50LlxuICpcbiAqIERvY3VtZW50YXRpb246IFtCYXNlIFVJIFNlbGVjdF0oaHR0cHM6Ly9iYXNlLXVpLmNvbS9yZWFjdC9jb21wb25lbnRzL3NlbGVjdClcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdFNjcm9sbERvd25BcnJvdyA9IC8qI19fUFVSRV9fKi9SZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIFNlbGVjdFNjcm9sbERvd25BcnJvdyhwcm9wcywgZm9yd2FyZGVkUmVmKSB7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovX2pzeChTZWxlY3RTY3JvbGxBcnJvdywge1xuICAgIC4uLnByb3BzLFxuICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgIGRpcmVjdGlvbjogXCJkb3duXCJcbiAgfSk7XG59KTtcbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIFNlbGVjdFNjcm9sbERvd25BcnJvdy5kaXNwbGF5TmFtZSA9IFwiU2VsZWN0U2Nyb2xsRG93bkFycm93XCI7Il0sIm5hbWVzIjpbIlJlYWN0IiwiU2VsZWN0U2Nyb2xsQXJyb3ciLCJqc3giLCJfanN4IiwiU2VsZWN0U2Nyb2xsRG93bkFycm93IiwiZm9yd2FyZFJlZiIsInByb3BzIiwiZm9yd2FyZGVkUmVmIiwicmVmIiwiZGlyZWN0aW9uIiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/scroll-down-arrow/SelectScrollDownArrow.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/scroll-up-arrow/SelectScrollUpArrow.js":
/*!***************************************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/scroll-up-arrow/SelectScrollUpArrow.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectScrollUpArrow: () => (/* binding */ SelectScrollUpArrow)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _scroll_arrow_SelectScrollArrow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../scroll-arrow/SelectScrollArrow.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/scroll-arrow/SelectScrollArrow.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ SelectScrollUpArrow auto */ \n\n\n/**\n * An element that scrolls the select popup up when hovered. Does not render when using touch input.\n * Renders a `
` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */ const SelectScrollUpArrow = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function SelectScrollUpArrow(props, forwardedRef) {\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_scroll_arrow_SelectScrollArrow_js__WEBPACK_IMPORTED_MODULE_2__.SelectScrollArrow, {\n ...props,\n ref: forwardedRef,\n direction: \"up\"\n });\n});\nif (true) SelectScrollUpArrow.displayName = \"SelectScrollUpArrow\";\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9zY3JvbGwtdXAtYXJyb3cvU2VsZWN0U2Nyb2xsVXBBcnJvdy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O3lFQUUrQjtBQUMwQztBQUN6QjtBQUNoRDs7Ozs7Q0FLQyxHQUNNLE1BQU1JLHNCQUFzQixXQUFXLEdBQUVKLDZDQUFnQixDQUFDLFNBQVNJLG9CQUFvQkUsS0FBSyxFQUFFQyxZQUFZO0lBQy9HLE9BQU8sV0FBVyxHQUFFSixzREFBSUEsQ0FBQ0YsaUZBQWlCQSxFQUFFO1FBQzFDLEdBQUdLLEtBQUs7UUFDUkUsS0FBS0Q7UUFDTEUsV0FBVztJQUNiO0FBQ0YsR0FBRztBQUNILElBQUlDLElBQXFDLEVBQUVOLG9CQUFvQk8sV0FBVyxHQUFHIiwic291cmNlcyI6WyIvaG9tZS9zaWx2aW8vRGV2ZWxvcC9DSVJVWC1BUFAvbm9kZV9tb2R1bGVzL0BiYXNlLXVpL3JlYWN0L2VzbS9zZWxlY3Qvc2Nyb2xsLXVwLWFycm93L1NlbGVjdFNjcm9sbFVwQXJyb3cuanMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTZWxlY3RTY3JvbGxBcnJvdyB9IGZyb20gXCIuLi9zY3JvbGwtYXJyb3cvU2VsZWN0U2Nyb2xsQXJyb3cuanNcIjtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG4vKipcbiAqIEFuIGVsZW1lbnQgdGhhdCBzY3JvbGxzIHRoZSBzZWxlY3QgcG9wdXAgdXAgd2hlbiBob3ZlcmVkLiBEb2VzIG5vdCByZW5kZXIgd2hlbiB1c2luZyB0b3VjaCBpbnB1dC5cbiAqIFJlbmRlcnMgYSBgPGRpdj5gIGVsZW1lbnQuXG4gKlxuICogRG9jdW1lbnRhdGlvbjogW0Jhc2UgVUkgU2VsZWN0XShodHRwczovL2Jhc2UtdWkuY29tL3JlYWN0L2NvbXBvbmVudHMvc2VsZWN0KVxuICovXG5leHBvcnQgY29uc3QgU2VsZWN0U2Nyb2xsVXBBcnJvdyA9IC8qI19fUFVSRV9fKi9SZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIFNlbGVjdFNjcm9sbFVwQXJyb3cocHJvcHMsIGZvcndhcmRlZFJlZikge1xuICByZXR1cm4gLyojX19QVVJFX18qL19qc3goU2VsZWN0U2Nyb2xsQXJyb3csIHtcbiAgICAuLi5wcm9wcyxcbiAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICBkaXJlY3Rpb246IFwidXBcIlxuICB9KTtcbn0pO1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikgU2VsZWN0U2Nyb2xsVXBBcnJvdy5kaXNwbGF5TmFtZSA9IFwiU2VsZWN0U2Nyb2xsVXBBcnJvd1wiOyJdLCJuYW1lcyI6WyJSZWFjdCIsIlNlbGVjdFNjcm9sbEFycm93IiwianN4IiwiX2pzeCIsIlNlbGVjdFNjcm9sbFVwQXJyb3ciLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJyZWYiLCJkaXJlY3Rpb24iLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/scroll-up-arrow/SelectScrollUpArrow.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/store.js":
/*!*********************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/store.js ***!
\*********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ selectors: () => (/* binding */ selectors)\n/* harmony export */ });\n/* harmony import */ var _base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @base-ui/utils/store */ \"(ssr)/./node_modules/@base-ui/utils/esm/store/createSelector.js\");\n/* harmony import */ var _internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internals/itemEquality.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/itemEquality.js\");\n/* harmony import */ var _internals_resolveValueLabel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../internals/resolveValueLabel.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/resolveValueLabel.js\");\n\n\n\nconst selectors = {\n id: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.id),\n labelId: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.labelId),\n modal: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.modal),\n multiple: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.multiple),\n items: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.items),\n itemToStringLabel: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.itemToStringLabel),\n itemToStringValue: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.itemToStringValue),\n isItemEqualToValue: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.isItemEqualToValue),\n value: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.value),\n hasSelectedValue: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => {\n const {\n value,\n multiple,\n itemToStringValue\n } = state;\n if (value == null) {\n return false;\n }\n if (multiple && Array.isArray(value)) {\n return value.length > 0;\n }\n return (0,_internals_resolveValueLabel_js__WEBPACK_IMPORTED_MODULE_1__.stringifyAsValue)(value, itemToStringValue) !== '';\n }),\n hasNullItemLabel: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)((state, enabled) => {\n return enabled ? (0,_internals_resolveValueLabel_js__WEBPACK_IMPORTED_MODULE_1__.hasNullItemLabel)(state.items) : false;\n }),\n open: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.open),\n mounted: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.mounted),\n forceMount: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.forceMount),\n transitionStatus: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.transitionStatus),\n openMethod: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.openMethod),\n activeIndex: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.activeIndex),\n selectedIndex: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.selectedIndex),\n isActive: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)((state, index) => state.activeIndex === index),\n isSelected: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)((state, index, itemValue) => {\n const comparer = state.isItemEqualToValue;\n const storeValue = state.value;\n if (state.multiple) {\n return Array.isArray(storeValue) && storeValue.some(selectedItem => (0,_internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_2__.compareItemEquality)(itemValue, selectedItem, comparer));\n }\n\n // `selectedIndex` is only updated after the items mount for the first time,\n // the value check avoids a re-render for the initially selected item.\n if (state.selectedIndex === index && state.selectedIndex !== null) {\n return true;\n }\n return (0,_internals_itemEquality_js__WEBPACK_IMPORTED_MODULE_2__.compareItemEquality)(itemValue, storeValue, comparer);\n }),\n isSelectedByFocus: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)((state, index) => {\n return state.selectedIndex === index;\n }),\n popupProps: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.popupProps),\n triggerProps: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.triggerProps),\n triggerElement: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.triggerElement),\n positionerElement: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.positionerElement),\n listElement: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.listElement),\n scrollUpArrowVisible: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.scrollUpArrowVisible),\n scrollDownArrowVisible: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.scrollDownArrowVisible),\n hasScrollArrows: (0,_base_ui_utils_store__WEBPACK_IMPORTED_MODULE_0__.createSelector)(state => state.hasScrollArrows)\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9zdG9yZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXNEO0FBQ2E7QUFDb0I7QUFDaEY7QUFDUCxNQUFNLG9FQUFjO0FBQ3BCLFdBQVcsb0VBQWM7QUFDekIsU0FBUyxvRUFBYztBQUN2QixZQUFZLG9FQUFjO0FBQzFCLFNBQVMsb0VBQWM7QUFDdkIscUJBQXFCLG9FQUFjO0FBQ25DLHFCQUFxQixvRUFBYztBQUNuQyxzQkFBc0Isb0VBQWM7QUFDcEMsU0FBUyxvRUFBYztBQUN2QixvQkFBb0Isb0VBQWM7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxpRkFBZ0I7QUFDM0IsR0FBRztBQUNILG9CQUFvQixvRUFBYztBQUNsQyxxQkFBcUIsaUZBQWdCO0FBQ3JDLEdBQUc7QUFDSCxRQUFRLG9FQUFjO0FBQ3RCLFdBQVcsb0VBQWM7QUFDekIsY0FBYyxvRUFBYztBQUM1QixvQkFBb0Isb0VBQWM7QUFDbEMsY0FBYyxvRUFBYztBQUM1QixlQUFlLG9FQUFjO0FBQzdCLGlCQUFpQixvRUFBYztBQUMvQixZQUFZLG9FQUFjO0FBQzFCLGNBQWMsb0VBQWM7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsMEVBQTBFLCtFQUFtQjtBQUM3Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVywrRUFBbUI7QUFDOUIsR0FBRztBQUNILHFCQUFxQixvRUFBYztBQUNuQztBQUNBLEdBQUc7QUFDSCxjQUFjLG9FQUFjO0FBQzVCLGdCQUFnQixvRUFBYztBQUM5QixrQkFBa0Isb0VBQWM7QUFDaEMscUJBQXFCLG9FQUFjO0FBQ25DLGVBQWUsb0VBQWM7QUFDN0Isd0JBQXdCLG9FQUFjO0FBQ3RDLDBCQUEwQixvRUFBYztBQUN4QyxtQkFBbUIsb0VBQWM7QUFDakMiLCJzb3VyY2VzIjpbIi9ob21lL3NpbHZpby9EZXZlbG9wL0NJUlVYLUFQUC9ub2RlX21vZHVsZXMvQGJhc2UtdWkvcmVhY3QvZXNtL3NlbGVjdC9zdG9yZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BiYXNlLXVpL3V0aWxzL3N0b3JlJztcbmltcG9ydCB7IGNvbXBhcmVJdGVtRXF1YWxpdHkgfSBmcm9tIFwiLi4vaW50ZXJuYWxzL2l0ZW1FcXVhbGl0eS5qc1wiO1xuaW1wb3J0IHsgaGFzTnVsbEl0ZW1MYWJlbCwgc3RyaW5naWZ5QXNWYWx1ZSB9IGZyb20gXCIuLi9pbnRlcm5hbHMvcmVzb2x2ZVZhbHVlTGFiZWwuanNcIjtcbmV4cG9ydCBjb25zdCBzZWxlY3RvcnMgPSB7XG4gIGlkOiBjcmVhdGVTZWxlY3RvcihzdGF0ZSA9PiBzdGF0ZS5pZCksXG4gIGxhYmVsSWQ6IGNyZWF0ZVNlbGVjdG9yKHN0YXRlID0+IHN0YXRlLmxhYmVsSWQpLFxuICBtb2RhbDogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUubW9kYWwpLFxuICBtdWx0aXBsZTogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUubXVsdGlwbGUpLFxuICBpdGVtczogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUuaXRlbXMpLFxuICBpdGVtVG9TdHJpbmdMYWJlbDogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUuaXRlbVRvU3RyaW5nTGFiZWwpLFxuICBpdGVtVG9TdHJpbmdWYWx1ZTogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUuaXRlbVRvU3RyaW5nVmFsdWUpLFxuICBpc0l0ZW1FcXVhbFRvVmFsdWU6IGNyZWF0ZVNlbGVjdG9yKHN0YXRlID0+IHN0YXRlLmlzSXRlbUVxdWFsVG9WYWx1ZSksXG4gIHZhbHVlOiBjcmVhdGVTZWxlY3RvcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSksXG4gIGhhc1NlbGVjdGVkVmFsdWU6IGNyZWF0ZVNlbGVjdG9yKHN0YXRlID0+IHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIG11bHRpcGxlLFxuICAgICAgaXRlbVRvU3RyaW5nVmFsdWVcbiAgICB9ID0gc3RhdGU7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKG11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gMDtcbiAgICB9XG4gICAgcmV0dXJuIHN0cmluZ2lmeUFzVmFsdWUodmFsdWUsIGl0ZW1Ub1N0cmluZ1ZhbHVlKSAhPT0gJyc7XG4gIH0pLFxuICBoYXNOdWxsSXRlbUxhYmVsOiBjcmVhdGVTZWxlY3Rvcigoc3RhdGUsIGVuYWJsZWQpID0+IHtcbiAgICByZXR1cm4gZW5hYmxlZCA/IGhhc051bGxJdGVtTGFiZWwoc3RhdGUuaXRlbXMpIDogZmFsc2U7XG4gIH0pLFxuICBvcGVuOiBjcmVhdGVTZWxlY3RvcihzdGF0ZSA9PiBzdGF0ZS5vcGVuKSxcbiAgbW91bnRlZDogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUubW91bnRlZCksXG4gIGZvcmNlTW91bnQ6IGNyZWF0ZVNlbGVjdG9yKHN0YXRlID0+IHN0YXRlLmZvcmNlTW91bnQpLFxuICB0cmFuc2l0aW9uU3RhdHVzOiBjcmVhdGVTZWxlY3RvcihzdGF0ZSA9PiBzdGF0ZS50cmFuc2l0aW9uU3RhdHVzKSxcbiAgb3Blbk1ldGhvZDogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUub3Blbk1ldGhvZCksXG4gIGFjdGl2ZUluZGV4OiBjcmVhdGVTZWxlY3RvcihzdGF0ZSA9PiBzdGF0ZS5hY3RpdmVJbmRleCksXG4gIHNlbGVjdGVkSW5kZXg6IGNyZWF0ZVNlbGVjdG9yKHN0YXRlID0+IHN0YXRlLnNlbGVjdGVkSW5kZXgpLFxuICBpc0FjdGl2ZTogY3JlYXRlU2VsZWN0b3IoKHN0YXRlLCBpbmRleCkgPT4gc3RhdGUuYWN0aXZlSW5kZXggPT09IGluZGV4KSxcbiAgaXNTZWxlY3RlZDogY3JlYXRlU2VsZWN0b3IoKHN0YXRlLCBpbmRleCwgaXRlbVZhbHVlKSA9PiB7XG4gICAgY29uc3QgY29tcGFyZXIgPSBzdGF0ZS5pc0l0ZW1FcXVhbFRvVmFsdWU7XG4gICAgY29uc3Qgc3RvcmVWYWx1ZSA9IHN0YXRlLnZhbHVlO1xuICAgIGlmIChzdGF0ZS5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoc3RvcmVWYWx1ZSkgJiYgc3RvcmVWYWx1ZS5zb21lKHNlbGVjdGVkSXRlbSA9PiBjb21wYXJlSXRlbUVxdWFsaXR5KGl0ZW1WYWx1ZSwgc2VsZWN0ZWRJdGVtLCBjb21wYXJlcikpO1xuICAgIH1cblxuICAgIC8vIGBzZWxlY3RlZEluZGV4YCBpcyBvbmx5IHVwZGF0ZWQgYWZ0ZXIgdGhlIGl0ZW1zIG1vdW50IGZvciB0aGUgZmlyc3QgdGltZSxcbiAgICAvLyB0aGUgdmFsdWUgY2hlY2sgYXZvaWRzIGEgcmUtcmVuZGVyIGZvciB0aGUgaW5pdGlhbGx5IHNlbGVjdGVkIGl0ZW0uXG4gICAgaWYgKHN0YXRlLnNlbGVjdGVkSW5kZXggPT09IGluZGV4ICYmIHN0YXRlLnNlbGVjdGVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gY29tcGFyZUl0ZW1FcXVhbGl0eShpdGVtVmFsdWUsIHN0b3JlVmFsdWUsIGNvbXBhcmVyKTtcbiAgfSksXG4gIGlzU2VsZWN0ZWRCeUZvY3VzOiBjcmVhdGVTZWxlY3Rvcigoc3RhdGUsIGluZGV4KSA9PiB7XG4gICAgcmV0dXJuIHN0YXRlLnNlbGVjdGVkSW5kZXggPT09IGluZGV4O1xuICB9KSxcbiAgcG9wdXBQcm9wczogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUucG9wdXBQcm9wcyksXG4gIHRyaWdnZXJQcm9wczogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUudHJpZ2dlclByb3BzKSxcbiAgdHJpZ2dlckVsZW1lbnQ6IGNyZWF0ZVNlbGVjdG9yKHN0YXRlID0+IHN0YXRlLnRyaWdnZXJFbGVtZW50KSxcbiAgcG9zaXRpb25lckVsZW1lbnQ6IGNyZWF0ZVNlbGVjdG9yKHN0YXRlID0+IHN0YXRlLnBvc2l0aW9uZXJFbGVtZW50KSxcbiAgbGlzdEVsZW1lbnQ6IGNyZWF0ZVNlbGVjdG9yKHN0YXRlID0+IHN0YXRlLmxpc3RFbGVtZW50KSxcbiAgc2Nyb2xsVXBBcnJvd1Zpc2libGU6IGNyZWF0ZVNlbGVjdG9yKHN0YXRlID0+IHN0YXRlLnNjcm9sbFVwQXJyb3dWaXNpYmxlKSxcbiAgc2Nyb2xsRG93bkFycm93VmlzaWJsZTogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUuc2Nyb2xsRG93bkFycm93VmlzaWJsZSksXG4gIGhhc1Njcm9sbEFycm93czogY3JlYXRlU2VsZWN0b3Ioc3RhdGUgPT4gc3RhdGUuaGFzU2Nyb2xsQXJyb3dzKVxufTsiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@base-ui/react/esm/select/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@base-ui/react/esm/select/trigger/SelectTrigger.js":
/*!*************************************************************************!*\
!*** ./node_modules/@base-ui/react/esm/select/trigger/SelectTrigger.js ***!
\*************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectTrigger: () => (/* binding */ SelectTrigger)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _base_ui_utils_owner__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @base-ui/utils/owner */ \"(ssr)/./node_modules/@base-ui/utils/esm/owner.js\");\n/* harmony import */ var _base_ui_utils_useTimeout__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @base-ui/utils/useTimeout */ \"(ssr)/./node_modules/@base-ui/utils/esm/useTimeout.js\");\n/* harmony import */ var _base_ui_utils_useStableCallback__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @base-ui/utils/useStableCallback */ \"(ssr)/./node_modules/@base-ui/utils/esm/useStableCallback.js\");\n/* harmony import */ var _base_ui_utils_useMergedRefs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @base-ui/utils/useMergedRefs */ \"(ssr)/./node_modules/@base-ui/utils/esm/useMergedRefs.js\");\n/* harmony import */ var _base_ui_utils_useValueAsRef__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @base-ui/utils/useValueAsRef */ \"(ssr)/./node_modules/@base-ui/utils/esm/useValueAsRef.js\");\n/* harmony import */ var _base_ui_utils_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @base-ui/utils/store */ \"(ssr)/./node_modules/@base-ui/utils/esm/store/useStore.js\");\n/* harmony import */ var _root_SelectRootContext_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../root/SelectRootContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/root/SelectRootContext.js\");\n/* harmony import */ var _internals_field_root_context_FieldRootContext_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../internals/field-root-context/FieldRootContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/field-root-context/FieldRootContext.js\");\n/* harmony import */ var _internals_labelable_provider_LabelableContext_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../internals/labelable-provider/LabelableContext.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/labelable-provider/LabelableContext.js\");\n/* harmony import */ var _utils_popupStateMapping_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/popupStateMapping.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/popupStateMapping.js\");\n/* harmony import */ var _internals_field_constants_constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../internals/field-constants/constants.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/field-constants/constants.js\");\n/* harmony import */ var _internals_useRenderElement_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../internals/useRenderElement.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/useRenderElement.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../store.js */ \"(ssr)/./node_modules/@base-ui/react/esm/select/store.js\");\n/* harmony import */ var _utils_getPseudoElementBounds_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../utils/getPseudoElementBounds.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/getPseudoElementBounds.js\");\n/* harmony import */ var _floating_ui_react_utils_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../floating-ui-react/utils.js */ \"(ssr)/./node_modules/@base-ui/react/esm/floating-ui-react/utils/element.js\");\n/* harmony import */ var _floating_ui_react_utils_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../floating-ui-react/utils.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/shadowDom.js\");\n/* harmony import */ var _merge_props_index_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../merge-props/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/merge-props/mergeProps.js\");\n/* harmony import */ var _internals_use_button_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../internals/use-button/index.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/use-button/useButton.js\");\n/* harmony import */ var _internals_createBaseUIEventDetails_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../internals/createBaseUIEventDetails.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/createBaseUIEventDetails.js\");\n/* harmony import */ var _internals_reasons_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../internals/reasons.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/reason-parts.js\");\n/* harmony import */ var _internals_labelable_provider_useLabelableId_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../internals/labelable-provider/useLabelableId.js */ \"(ssr)/./node_modules/@base-ui/react/esm/internals/labelable-provider/useLabelableId.js\");\n/* harmony import */ var _utils_resolveAriaLabelledBy_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/resolveAriaLabelledBy.js */ \"(ssr)/./node_modules/@base-ui/react/esm/utils/resolveAriaLabelledBy.js\");\n/* __next_internal_client_entry_do_not_use__ SelectTrigger auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst BOUNDARY_OFFSET = 2;\nconst SELECTED_DELAY = 400;\nconst UNSELECTED_DELAY = 200;\nconst stateAttributesMapping = {\n ..._utils_popupStateMapping_js__WEBPACK_IMPORTED_MODULE_1__.pressableTriggerOpenStateMapping,\n ..._internals_field_constants_constants_js__WEBPACK_IMPORTED_MODULE_2__.fieldValidityMapping,\n value: ()=>null\n};\n/**\n * A button that opens the select popup.\n * Renders a `