payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
176 lines (175 loc) • 19.5 kB
JavaScript
;
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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