UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

176 lines (175 loc) • 19.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _sortable = require("@dnd-kit/sortable"); const _react = /*#__PURE__*/ _interop_require_default(require("react")); const _reacti18next = require("react-i18next"); const _reactselect = /*#__PURE__*/ _interop_require_default(require("react-select")); const _creatable = /*#__PURE__*/ _interop_require_default(require("react-select/creatable")); const _getTranslation = require("../../../../utilities/getTranslation"); const _Chevron = /*#__PURE__*/ _interop_require_default(require("../../icons/Chevron")); const _DraggableSortable = /*#__PURE__*/ _interop_require_default(require("../DraggableSortable")); const _ClearIndicator = require("./ClearIndicator"); const _Control = require("./Control"); const _MultiValue = require("./MultiValue"); const _MultiValueLabel = require("./MultiValueLabel"); const _MultiValueRemove = require("./MultiValueRemove"); const _SingleValue = require("./SingleValue"); const _ValueContainer = require("./ValueContainer"); require("./index.scss"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const createOption = (label)=>({ label, value: label }); const SelectAdapter = (props)=>{ const { i18n, t } = (0, _reacti18next.useTranslation)(); const [inputValue, setInputValue] = _react.default.useState('') // for creatable select ; const { className, components, customProps, disabled = false, filterOption = undefined, isClearable = true, isCreatable, isLoading, isSearchable = true, noOptionsMessage, numberOnly = false, onChange, onMenuOpen, options, placeholder = t('general:selectValue'), showError, value } = props; const classes = [ className, 'react-select', showError && 'react-select--error' ].filter(Boolean).join(' '); if (!isCreatable) { return /*#__PURE__*/ _react.default.createElement(_reactselect.default, { captureMenuScroll: true, customProps: customProps, isLoading: isLoading, placeholder: (0, _getTranslation.getTranslation)(placeholder, i18n), ...props, className: classes, classNamePrefix: "rs", components: { ClearIndicator: _ClearIndicator.ClearIndicator, Control: _Control.Control, DropdownIndicator: _Chevron.default, MultiValue: _MultiValue.MultiValue, MultiValueLabel: _MultiValueLabel.MultiValueLabel, MultiValueRemove: _MultiValueRemove.MultiValueRemove, SingleValue: _SingleValue.SingleValue, ValueContainer: _ValueContainer.ValueContainer, ...components }, filterOption: filterOption, isClearable: isClearable, isDisabled: disabled, isSearchable: isSearchable, menuPlacement: "auto", noOptionsMessage: noOptionsMessage, onChange: onChange, onMenuOpen: onMenuOpen, options: options, value: value }); } const handleKeyDown = (event)=>{ // eslint-disable-next-line no-restricted-globals if (numberOnly === true) { const acceptableKeys = [ 'Tab', 'Escape', 'Backspace', 'Enter', 'ArrowRight', 'ArrowLeft', 'ArrowUp', 'ArrowDown' ]; const isNumber = !/\D/.test(event.key); const isActionKey = acceptableKeys.includes(event.key); if (!isNumber && !isActionKey) { event.preventDefault(); return; } } if (!value || !inputValue || inputValue.trim() === '') return; if (filterOption && !filterOption(null, inputValue)) { return; } switch(event.key){ case 'Enter': case 'Tab': onChange([ ...value, createOption(inputValue) ]); setInputValue(''); event.preventDefault(); break; default: break; } }; return /*#__PURE__*/ _react.default.createElement(_creatable.default, { captureMenuScroll: true, isLoading: isLoading, placeholder: (0, _getTranslation.getTranslation)(placeholder, i18n), ...props, className: classes, classNamePrefix: "rs", components: { ClearIndicator: _ClearIndicator.ClearIndicator, Control: _Control.Control, DropdownIndicator: _Chevron.default, MultiValue: _MultiValue.MultiValue, MultiValueLabel: _MultiValueLabel.MultiValueLabel, MultiValueRemove: _MultiValueRemove.MultiValueRemove, SingleValue: _SingleValue.SingleValue, ValueContainer: _ValueContainer.ValueContainer, ...components }, filterOption: filterOption, inputValue: inputValue, isClearable: isClearable, isDisabled: disabled, isSearchable: isSearchable, menuPlacement: "auto", noOptionsMessage: noOptionsMessage, onChange: onChange, onInputChange: (newValue)=>setInputValue(newValue), onKeyDown: handleKeyDown, onMenuOpen: onMenuOpen, options: options, value: value }); }; const SortableSelect = (props)=>{ const { onChange, value } = props; let ids = []; if (value) ids = Array.isArray(value) ? value.map((item)=>item?.id ?? `${item?.value}`) : [ value?.id || `${value?.value}` ]; return /*#__PURE__*/ _react.default.createElement(_DraggableSortable.default, { className: "react-select-container", ids: ids, onDragEnd: ({ moveFromIndex, moveToIndex })=>{ let sorted = value; if (value && Array.isArray(value)) { sorted = (0, _sortable.arrayMove)(value, moveFromIndex, moveToIndex); } onChange(sorted); } }, /*#__PURE__*/ _react.default.createElement(SelectAdapter, props)); }; const ReactSelect = (props)=>{ const { isMulti, isSortable } = props; if (isMulti && isSortable) { return /*#__PURE__*/ _react.default.createElement(SortableSelect, props); } return /*#__PURE__*/ _react.default.createElement(SelectAdapter, props); }; const _default = ReactSelect; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1JlYWN0U2VsZWN0L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEtleWJvYXJkRXZlbnRIYW5kbGVyIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IGFycmF5TW92ZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJ1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IFNlbGVjdCBmcm9tICdyZWFjdC1zZWxlY3QnXG5pbXBvcnQgQ3JlYXRhYmxlU2VsZWN0IGZyb20gJ3JlYWN0LXNlbGVjdC9jcmVhdGFibGUnXG5cbmltcG9ydCB0eXBlIHsgT3B0aW9uIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUHJvcHMgYXMgUmVhY3RTZWxlY3RBZGFwdGVyUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9nZXRUcmFuc2xhdGlvbidcbmltcG9ydCBDaGV2cm9uIGZyb20gJy4uLy4uL2ljb25zL0NoZXZyb24nXG5pbXBvcnQgRHJhZ2dhYmxlU29ydGFibGUgZnJvbSAnLi4vRHJhZ2dhYmxlU29ydGFibGUnXG5pbXBvcnQgeyBDbGVhckluZGljYXRvciB9IGZyb20gJy4vQ2xlYXJJbmRpY2F0b3InXG5pbXBvcnQgeyBDb250cm9sIH0gZnJvbSAnLi9Db250cm9sJ1xuaW1wb3J0IHsgTXVsdGlWYWx1ZSB9IGZyb20gJy4vTXVsdGlWYWx1ZSdcbmltcG9ydCB7IE11bHRpVmFsdWVMYWJlbCB9IGZyb20gJy4vTXVsdGlWYWx1ZUxhYmVsJ1xuaW1wb3J0IHsgTXVsdGlWYWx1ZVJlbW92ZSB9IGZyb20gJy4vTXVsdGlWYWx1ZVJlbW92ZSdcbmltcG9ydCB7IFNpbmdsZVZhbHVlIH0gZnJvbSAnLi9TaW5nbGVWYWx1ZSdcbmltcG9ydCB7IFZhbHVlQ29udGFpbmVyIH0gZnJvbSAnLi9WYWx1ZUNvbnRhaW5lcidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBjcmVhdGVPcHRpb24gPSAobGFiZWw6IHN0cmluZykgPT4gKHtcbiAgbGFiZWwsXG4gIHZhbHVlOiBsYWJlbCxcbn0pXG5cbmNvbnN0IFNlbGVjdEFkYXB0ZXI6IFJlYWN0LkZDPFJlYWN0U2VsZWN0QWRhcHRlclByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgW2lucHV0VmFsdWUsIHNldElucHV0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUoJycpIC8vIGZvciBjcmVhdGFibGUgc2VsZWN0XG5cbiAgY29uc3Qge1xuICAgIGNsYXNzTmFtZSxcbiAgICBjb21wb25lbnRzLFxuICAgIGN1c3RvbVByb3BzLFxuICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgZmlsdGVyT3B0aW9uID0gdW5kZWZpbmVkLFxuICAgIGlzQ2xlYXJhYmxlID0gdHJ1ZSxcbiAgICBpc0NyZWF0YWJsZSxcbiAgICBpc0xvYWRpbmcsXG4gICAgaXNTZWFyY2hhYmxlID0gdHJ1ZSxcbiAgICBub09wdGlvbnNNZXNzYWdlLFxuICAgIG51bWJlck9ubHkgPSBmYWxzZSxcbiAgICBvbkNoYW5nZSxcbiAgICBvbk1lbnVPcGVuLFxuICAgIG9wdGlvbnMsXG4gICAgcGxhY2Vob2xkZXIgPSB0KCdnZW5lcmFsOnNlbGVjdFZhbHVlJyksXG4gICAgc2hvd0Vycm9yLFxuICAgIHZhbHVlLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCBjbGFzc2VzID0gW2NsYXNzTmFtZSwgJ3JlYWN0LXNlbGVjdCcsIHNob3dFcnJvciAmJiAncmVhY3Qtc2VsZWN0LS1lcnJvciddXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcgJylcblxuICBpZiAoIWlzQ3JlYXRhYmxlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTZWxlY3RcbiAgICAgICAgY2FwdHVyZU1lbnVTY3JvbGxcbiAgICAgICAgY3VzdG9tUHJvcHM9e2N1c3RvbVByb3BzfVxuICAgICAgICBpc0xvYWRpbmc9e2lzTG9hZGluZ31cbiAgICAgICAgcGxhY2Vob2xkZXI9e2dldFRyYW5zbGF0aW9uKHBsYWNlaG9sZGVyLCBpMThuKX1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXN9XG4gICAgICAgIGNsYXNzTmFtZVByZWZpeD1cInJzXCJcbiAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICAgIENvbnRyb2wsXG4gICAgICAgICAgRHJvcGRvd25JbmRpY2F0b3I6IENoZXZyb24sXG4gICAgICAgICAgTXVsdGlWYWx1ZSxcbiAgICAgICAgICBNdWx0aVZhbHVlTGFiZWwsXG4gICAgICAgICAgTXVsdGlWYWx1ZVJlbW92ZSxcbiAgICAgICAgICBTaW5nbGVWYWx1ZSxcbiAgICAgICAgICBWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgICAuLi5jb21wb25lbnRzLFxuICAgICAgICB9fVxuICAgICAgICBmaWx0ZXJPcHRpb249e2ZpbHRlck9wdGlvbn1cbiAgICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgICBpc0Rpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgaXNTZWFyY2hhYmxlPXtpc1NlYXJjaGFibGV9XG4gICAgICAgIG1lbnVQbGFjZW1lbnQ9XCJhdXRvXCJcbiAgICAgICAgbm9PcHRpb25zTWVzc2FnZT17bm9PcHRpb25zTWVzc2FnZX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvbk1lbnVPcGVuPXtvbk1lbnVPcGVufVxuICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAvPlxuICAgIClcbiAgfVxuICBjb25zdCBoYW5kbGVLZXlEb3duOiBLZXlib2FyZEV2ZW50SGFuZGxlciA9IChldmVudCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHNcbiAgICBpZiAobnVtYmVyT25seSA9PT0gdHJ1ZSkge1xuICAgICAgY29uc3QgYWNjZXB0YWJsZUtleXMgPSBbXG4gICAgICAgICdUYWInLFxuICAgICAgICAnRXNjYXBlJyxcbiAgICAgICAgJ0JhY2tzcGFjZScsXG4gICAgICAgICdFbnRlcicsXG4gICAgICAgICdBcnJvd1JpZ2h0JyxcbiAgICAgICAgJ0Fycm93TGVmdCcsXG4gICAgICAgICdBcnJvd1VwJyxcbiAgICAgICAgJ0Fycm93RG93bicsXG4gICAgICBdXG4gICAgICBjb25zdCBpc051bWJlciA9ICEvXFxELy50ZXN0KGV2ZW50LmtleSlcbiAgICAgIGNvbnN0IGlzQWN0aW9uS2V5ID0gYWNjZXB0YWJsZUtleXMuaW5jbHVkZXMoZXZlbnQua2V5KVxuICAgICAgaWYgKCFpc051bWJlciAmJiAhaXNBY3Rpb25LZXkpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCF2YWx1ZSB8fCAhaW5wdXRWYWx1ZSB8fCBpbnB1dFZhbHVlLnRyaW0oKSA9PT0gJycpIHJldHVyblxuICAgIGlmIChmaWx0ZXJPcHRpb24gJiYgIWZpbHRlck9wdGlvbihudWxsLCBpbnB1dFZhbHVlKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBvbkNoYW5nZShbLi4uKHZhbHVlIGFzIE9wdGlvbltdKSwgY3JlYXRlT3B0aW9uKGlucHV0VmFsdWUpXSlcbiAgICAgICAgc2V0SW5wdXRWYWx1ZSgnJylcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxDcmVhdGFibGVTZWxlY3RcbiAgICAgIGNhcHR1cmVNZW51U2Nyb2xsXG4gICAgICBpc0xvYWRpbmc9e2lzTG9hZGluZ31cbiAgICAgIHBsYWNlaG9sZGVyPXtnZXRUcmFuc2xhdGlvbihwbGFjZWhvbGRlciwgaTE4bil9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzZXN9XG4gICAgICBjbGFzc05hbWVQcmVmaXg9XCJyc1wiXG4gICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgIENsZWFySW5kaWNhdG9yLFxuICAgICAgICBDb250cm9sLFxuICAgICAgICBEcm9wZG93bkluZGljYXRvcjogQ2hldnJvbixcbiAgICAgICAgTXVsdGlWYWx1ZSxcbiAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICBNdWx0aVZhbHVlUmVtb3ZlLFxuICAgICAgICBTaW5nbGVWYWx1ZSxcbiAgICAgICAgVmFsdWVDb250YWluZXIsXG4gICAgICAgIC4uLmNvbXBvbmVudHMsXG4gICAgICB9fVxuICAgICAgZmlsdGVyT3B0aW9uPXtmaWx0ZXJPcHRpb259XG4gICAgICBpbnB1dFZhbHVlPXtpbnB1dFZhbHVlfVxuICAgICAgaXNDbGVhcmFibGU9e2lzQ2xlYXJhYmxlfVxuICAgICAgaXNEaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICBpc1NlYXJjaGFibGU9e2lzU2VhcmNoYWJsZX1cbiAgICAgIG1lbnVQbGFjZW1lbnQ9XCJhdXRvXCJcbiAgICAgIG5vT3B0aW9uc01lc3NhZ2U9e25vT3B0aW9uc01lc3NhZ2V9XG4gICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICBvbklucHV0Q2hhbmdlPXsobmV3VmFsdWUpID0+IHNldElucHV0VmFsdWUobmV3VmFsdWUpfVxuICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgb25NZW51T3Blbj17b25NZW51T3Blbn1cbiAgICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgICB2YWx1ZT17dmFsdWV9XG4gICAgLz5cbiAgKVxufVxuXG5jb25zdCBTb3J0YWJsZVNlbGVjdDogUmVhY3QuRkM8UmVhY3RTZWxlY3RBZGFwdGVyUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgb25DaGFuZ2UsIHZhbHVlIH0gPSBwcm9wc1xuXG4gIGxldCBpZHM6IHN0cmluZ1tdID0gW11cbiAgaWYgKHZhbHVlKVxuICAgIGlkcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IHZhbHVlLm1hcCgoaXRlbSkgPT4gaXRlbT8uaWQgPz8gYCR7aXRlbT8udmFsdWV9YClcbiAgICAgIDogW3ZhbHVlPy5pZCB8fCBgJHt2YWx1ZT8udmFsdWV9YF1cblxuICByZXR1cm4gKFxuICAgIDxEcmFnZ2FibGVTb3J0YWJsZVxuICAgICAgY2xhc3NOYW1lPVwicmVhY3Qtc2VsZWN0LWNvbnRhaW5lclwiXG4gICAgICBpZHM9e2lkc31cbiAgICAgIG9uRHJhZ0VuZD17KHsgbW92ZUZyb21JbmRleCwgbW92ZVRvSW5kZXggfSkgPT4ge1xuICAgICAgICBsZXQgc29ydGVkID0gdmFsdWVcbiAgICAgICAgaWYgKHZhbHVlICYmIEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgc29ydGVkID0gYXJyYXlNb3ZlKHZhbHVlLCBtb3ZlRnJvbUluZGV4LCBtb3ZlVG9JbmRleClcbiAgICAgICAgfVxuICAgICAgICBvbkNoYW5nZShzb3J0ZWQpXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxTZWxlY3RBZGFwdGVyIHsuLi5wcm9wc30gLz5cbiAgICA8L0RyYWdnYWJsZVNvcnRhYmxlPlxuICApXG59XG5cbmNvbnN0IFJlYWN0U2VsZWN0OiBSZWFjdC5GQzxSZWFjdFNlbGVjdEFkYXB0ZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBpc011bHRpLCBpc1NvcnRhYmxlIH0gPSBwcm9wc1xuXG4gIGlmIChpc011bHRpICYmIGlzU29ydGFibGUpIHtcbiAgICByZXR1cm4gPFNvcnRhYmxlU2VsZWN0IHsuLi5wcm9wc30gLz5cbiAgfVxuXG4gIHJldHVybiA8U2VsZWN0QWRhcHRlciB7Li4ucHJvcHN9IC8+XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWN0U2VsZWN0XG4iXSwibmFtZXMiOlsiY3JlYXRlT3B0aW9uIiwibGFiZWwiLCJ2YWx1ZSIsIlNlbGVjdEFkYXB0ZXIiLCJwcm9wcyIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJpbnB1dFZhbHVlIiwic2V0SW5wdXRWYWx1ZSIsIlJlYWN0IiwidXNlU3RhdGUiLCJjbGFzc05hbWUiLCJjb21wb25lbnRzIiwiY3VzdG9tUHJvcHMiLCJkaXNhYmxlZCIsImZpbHRlck9wdGlvbiIsInVuZGVmaW5lZCIsImlzQ2xlYXJhYmxlIiwiaXNDcmVhdGFibGUiLCJpc0xvYWRpbmciLCJpc1NlYXJjaGFibGUiLCJub09wdGlvbnNNZXNzYWdlIiwibnVtYmVyT25seSIsIm9uQ2hhbmdlIiwib25NZW51T3BlbiIsIm9wdGlvbnMiLCJwbGFjZWhvbGRlciIsInNob3dFcnJvciIsImNsYXNzZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsIlNlbGVjdCIsImNhcHR1cmVNZW51U2Nyb2xsIiwiZ2V0VHJhbnNsYXRpb24iLCJjbGFzc05hbWVQcmVmaXgiLCJDbGVhckluZGljYXRvciIsIkNvbnRyb2wiLCJEcm9wZG93bkluZGljYXRvciIsIkNoZXZyb24iLCJNdWx0aVZhbHVlIiwiTXVsdGlWYWx1ZUxhYmVsIiwiTXVsdGlWYWx1ZVJlbW92ZSIsIlNpbmdsZVZhbHVlIiwiVmFsdWVDb250YWluZXIiLCJpc0Rpc2FibGVkIiwibWVudVBsYWNlbWVudCIsImhhbmRsZUtleURvd24iLCJldmVudCIsImFjY2VwdGFibGVLZXlzIiwiaXNOdW1iZXIiLCJ0ZXN0Iiwia2V5IiwiaXNBY3Rpb25LZXkiLCJpbmNsdWRlcyIsInByZXZlbnREZWZhdWx0IiwidHJpbSIsIkNyZWF0YWJsZVNlbGVjdCIsIm9uSW5wdXRDaGFuZ2UiLCJuZXdWYWx1ZSIsIm9uS2V5RG93biIsIlNvcnRhYmxlU2VsZWN0IiwiaWRzIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiaXRlbSIsImlkIiwiRHJhZ2dhYmxlU29ydGFibGUiLCJvbkRyYWdFbmQiLCJtb3ZlRnJvbUluZGV4IiwibW92ZVRvSW5kZXgiLCJzb3J0ZWQiLCJhcnJheU1vdmUiLCJSZWFjdFNlbGVjdCIsImlzTXVsdGkiLCJpc1NvcnRhYmxlIl0sIm1hcHBpbmdzIjoiOzs7OytCQXNNQTs7O2VBQUE7OzswQkFwTTBCOzhEQUNSOzhCQUNhO29FQUNaO2tFQUNTO2dDQUtHO2dFQUNYOzBFQUNVO2dDQUNDO3lCQUNQOzRCQUNHO2lDQUNLO2tDQUNDOzZCQUNMO2dDQUNHO1FBQ3hCOzs7Ozs7QUFFUCxNQUFNQSxlQUFlLENBQUNDLFFBQW1CLENBQUE7UUFDdkNBO1FBQ0FDLE9BQU9EO0lBQ1QsQ0FBQTtBQUVBLE1BQU1FLGdCQUFtRCxDQUFDQztJQUN4RCxNQUFNLEVBQUVDLElBQUksRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjO0lBQ2xDLE1BQU0sQ0FBQ0MsWUFBWUMsY0FBYyxHQUFHQyxjQUFLLENBQUNDLFFBQVEsQ0FBQyxJQUFJLHVCQUF1Qjs7SUFFOUUsTUFBTSxFQUNKQyxTQUFTLEVBQ1RDLFVBQVUsRUFDVkMsV0FBVyxFQUNYQyxXQUFXLEtBQUssRUFDaEJDLGVBQWVDLFNBQVMsRUFDeEJDLGNBQWMsSUFBSSxFQUNsQkMsV0FBVyxFQUNYQyxTQUFTLEVBQ1RDLGVBQWUsSUFBSSxFQUNuQkMsZ0JBQWdCLEVBQ2hCQyxhQUFhLEtBQUssRUFDbEJDLFFBQVEsRUFDUkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLGNBQWNyQixFQUFFLHNCQUFzQixFQUN0Q3NCLFNBQVMsRUFDVDFCLEtBQUssRUFDTixHQUFHRTtJQUVKLE1BQU15QixVQUFVO1FBQUNqQjtRQUFXO1FBQWdCZ0IsYUFBYTtLQUFz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