@pie-lib/config-ui 12.1.1-next.0 → 12.1.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/lib/__tests__/alert-dialog.test.js +267 -0
  2. package/lib/__tests__/checkbox.test.js +227 -0
  3. package/lib/__tests__/choice-utils.test.js +16 -0
  4. package/lib/__tests__/form-section.test.js +252 -0
  5. package/lib/__tests__/help.test.js +278 -0
  6. package/lib/__tests__/input.test.js +268 -0
  7. package/lib/__tests__/langs.test.js +551 -0
  8. package/lib/__tests__/number-text-field-custom.test.js +364 -0
  9. package/lib/__tests__/number-text-field.test.js +421 -0
  10. package/lib/__tests__/radio-with-label.test.js +233 -0
  11. package/lib/__tests__/settings-panel.test.js +194 -0
  12. package/lib/__tests__/settings.test.js +653 -0
  13. package/lib/__tests__/tabs.test.js +211 -0
  14. package/lib/__tests__/two-choice.test.js +124 -0
  15. package/lib/__tests__/with-stateful-model.test.js +232 -0
  16. package/lib/alert-dialog.js +1 -1
  17. package/lib/checkbox.js +1 -1
  18. package/lib/choice-configuration/__tests__/feedback-menu.test.js +287 -0
  19. package/lib/choice-configuration/__tests__/index.test.js +263 -0
  20. package/lib/choice-configuration/feedback-menu.js +1 -1
  21. package/lib/choice-configuration/index.js +1 -1
  22. package/lib/choice-utils.js +1 -1
  23. package/lib/feedback-config/__tests__/feedback-config.test.js +211 -0
  24. package/lib/feedback-config/__tests__/feedback-selector.test.js +177 -0
  25. package/lib/feedback-config/feedback-selector.js +1 -1
  26. package/lib/feedback-config/group.js +1 -1
  27. package/lib/feedback-config/index.js +1 -1
  28. package/lib/form-section.js +1 -1
  29. package/lib/help.js +1 -1
  30. package/lib/index.js +1 -1
  31. package/lib/input.js +1 -1
  32. package/lib/inputs.js +1 -1
  33. package/lib/langs.js +1 -1
  34. package/lib/layout/__tests__/config.layout.test.js +70 -0
  35. package/lib/layout/__tests__/layout-content.test.js +6 -0
  36. package/lib/layout/config-layout.js +1 -1
  37. package/lib/layout/index.js +1 -1
  38. package/lib/layout/layout-contents.js +1 -1
  39. package/lib/layout/settings-box.js +1 -1
  40. package/lib/mui-box/index.js +1 -1
  41. package/lib/number-text-field-custom.js +1 -1
  42. package/lib/number-text-field.js +1 -1
  43. package/lib/radio-with-label.js +1 -1
  44. package/lib/settings/display-size.js +1 -1
  45. package/lib/settings/index.js +1 -1
  46. package/lib/settings/panel.js +1 -1
  47. package/lib/settings/settings-radio-label.js +1 -1
  48. package/lib/settings/toggle.js +1 -1
  49. package/lib/tabs/index.js +1 -1
  50. package/lib/tags-input/__tests__/index.test.js +183 -0
  51. package/lib/tags-input/index.js +1 -1
  52. package/lib/two-choice.js +1 -1
  53. package/lib/with-stateful-model.js +1 -1
  54. package/package.json +2 -2
  55. package/LICENSE.md +0 -5
  56. package/NEXT.CHANGELOG.json +0 -1
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.object.define-properties.js");
7
+ require("core-js/modules/es.object.define-property.js");
8
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/es.object.keys.js");
11
+ require("core-js/modules/es.object.to-string.js");
12
+ require("core-js/modules/web.dom-collections.for-each.js");
13
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+ var _react = _interopRequireDefault(require("react"));
18
+ var _react2 = require("@testing-library/react");
19
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
20
+ var _index = require("../index");
21
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
+ jest.mock('@pie-lib/editable-html-tip-tap', function () {
24
+ return {
25
+ __esModule: true,
26
+ "default": function _default(_ref) {
27
+ var markup = _ref.markup,
28
+ _onChange = _ref.onChange,
29
+ disabled = _ref.disabled;
30
+ return /*#__PURE__*/_react["default"].createElement("textarea", {
31
+ "data-testid": "editable-html",
32
+ defaultValue: markup || '',
33
+ onChange: function onChange(e) {
34
+ return _onChange(e.target.value);
35
+ },
36
+ disabled: disabled
37
+ });
38
+ }
39
+ };
40
+ });
41
+ var defaultFeedback = {
42
+ correct: 'Correct',
43
+ incorrect: 'Incorrect'
44
+ };
45
+ var data = {
46
+ correct: true,
47
+ value: 'foo',
48
+ label: 'Foo',
49
+ feedback: {
50
+ type: 'custom'
51
+ }
52
+ };
53
+ var classes = {
54
+ choiceConfiguration: 'choiceConfiguration'
55
+ };
56
+ describe('ChoiceConfiguration', function () {
57
+ var onChange = jest.fn();
58
+ beforeEach(function () {
59
+ onChange.mockClear();
60
+ });
61
+ describe('rendering', function () {
62
+ it('renders correctly with default props', function () {
63
+ var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
64
+ classes: classes,
65
+ defaultFeedback: defaultFeedback,
66
+ data: data,
67
+ onChange: onChange
68
+ })),
69
+ container = _render.container;
70
+ expect(container.firstChild).toBeInTheDocument();
71
+ });
72
+ it('renders with checked state', function () {
73
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
74
+ classes: classes,
75
+ defaultFeedback: defaultFeedback,
76
+ data: data,
77
+ onChange: onChange,
78
+ mode: "checkbox"
79
+ }));
80
+ var checkbox = _react2.screen.getByRole('checkbox');
81
+ expect(checkbox).toBeChecked();
82
+ });
83
+ it('renders without feedback when allowFeedBack is false', function () {
84
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
85
+ allowFeedBack: false,
86
+ classes: classes,
87
+ defaultFeedback: defaultFeedback,
88
+ data: data,
89
+ onChange: onChange
90
+ }));
91
+ expect(_react2.screen.queryByRole('button', {
92
+ name: /feedback/i
93
+ })).not.toBeInTheDocument();
94
+ });
95
+ it('renders without delete button when allowDelete is false', function () {
96
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
97
+ allowDelete: false,
98
+ classes: classes,
99
+ defaultFeedback: defaultFeedback,
100
+ data: data,
101
+ onChange: onChange
102
+ }));
103
+ expect(_react2.screen.queryByRole('button', {
104
+ name: /delete/i
105
+ })).not.toBeInTheDocument();
106
+ });
107
+ });
108
+ describe('user interactions', function () {
109
+ it('calls onChange when label is edited', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
110
+ var user, editableHtmlElements, editableHtml;
111
+ return _regenerator["default"].wrap(function (_context) {
112
+ while (1) switch (_context.prev = _context.next) {
113
+ case 0:
114
+ user = _userEvent["default"].setup();
115
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
116
+ classes: classes,
117
+ defaultFeedback: defaultFeedback,
118
+ data: data,
119
+ onChange: onChange
120
+ }));
121
+ editableHtmlElements = _react2.screen.getAllByTestId('editable-html');
122
+ editableHtml = editableHtmlElements[0];
123
+ _context.next = 1;
124
+ return user.clear(editableHtml);
125
+ case 1:
126
+ _context.next = 2;
127
+ return user.type(editableHtml, 'new label');
128
+ case 2:
129
+ expect(onChange).toHaveBeenCalled();
130
+ expect(onChange).toHaveBeenCalledWith(expect.objectContaining({
131
+ label: expect.stringContaining('new label')
132
+ }));
133
+ case 3:
134
+ case "end":
135
+ return _context.stop();
136
+ }
137
+ }, _callee);
138
+ })));
139
+ it('calls onChange when checkbox is toggled', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
140
+ var user, checkbox;
141
+ return _regenerator["default"].wrap(function (_context2) {
142
+ while (1) switch (_context2.prev = _context2.next) {
143
+ case 0:
144
+ user = _userEvent["default"].setup();
145
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
146
+ classes: classes,
147
+ defaultFeedback: defaultFeedback,
148
+ data: _objectSpread(_objectSpread({}, data), {}, {
149
+ correct: false
150
+ }),
151
+ onChange: onChange,
152
+ mode: "checkbox"
153
+ }));
154
+ checkbox = _react2.screen.getByRole('checkbox');
155
+ _context2.next = 1;
156
+ return user.click(checkbox);
157
+ case 1:
158
+ expect(onChange).toHaveBeenCalledWith(expect.objectContaining({
159
+ correct: true
160
+ }));
161
+ case 2:
162
+ case "end":
163
+ return _context2.stop();
164
+ }
165
+ }, _callee2);
166
+ })));
167
+ });
168
+ describe('prop variations', function () {
169
+ it('renders with radio mode instead of checkbox', function () {
170
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
171
+ classes: classes,
172
+ defaultFeedback: defaultFeedback,
173
+ data: data,
174
+ onChange: onChange,
175
+ mode: "radio"
176
+ }));
177
+ var radio = _react2.screen.getByRole('radio');
178
+ expect(radio).toBeInTheDocument();
179
+ });
180
+ it('renders with disabled state', function () {
181
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
182
+ classes: classes,
183
+ defaultFeedback: defaultFeedback,
184
+ data: data,
185
+ onChange: onChange,
186
+ disabled: true,
187
+ mode: "checkbox"
188
+ }));
189
+ var checkbox = _react2.screen.getByRole('checkbox');
190
+ expect(checkbox).toBeInTheDocument();
191
+ });
192
+ it('renders with custom feedback type', function () {
193
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
194
+ classes: classes,
195
+ defaultFeedback: defaultFeedback,
196
+ data: _objectSpread(_objectSpread({}, data), {}, {
197
+ feedback: {
198
+ type: 'custom'
199
+ }
200
+ }),
201
+ onChange: onChange,
202
+ mode: "checkbox"
203
+ }));
204
+ var editableElements = _react2.screen.getAllByTestId('editable-html');
205
+ expect(editableElements.length).toBeGreaterThan(0);
206
+ });
207
+ it('renders with incorrect answer', function () {
208
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
209
+ classes: classes,
210
+ defaultFeedback: defaultFeedback,
211
+ data: _objectSpread(_objectSpread({}, data), {}, {
212
+ correct: false
213
+ }),
214
+ onChange: onChange,
215
+ mode: "checkbox"
216
+ }));
217
+ var checkbox = _react2.screen.getByRole('checkbox');
218
+ expect(checkbox).not.toBeChecked();
219
+ });
220
+ });
221
+ describe('edge cases', function () {
222
+ it('handles data with empty label', function () {
223
+ (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
224
+ classes: classes,
225
+ defaultFeedback: defaultFeedback,
226
+ data: _objectSpread(_objectSpread({}, data), {}, {
227
+ label: ''
228
+ }),
229
+ onChange: onChange
230
+ }));
231
+ var editableElements = _react2.screen.getAllByTestId('editable-html');
232
+ expect(editableElements.length).toBeGreaterThan(0);
233
+ });
234
+ it('handles multiple feedback types', function () {
235
+ var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
236
+ classes: classes,
237
+ defaultFeedback: defaultFeedback,
238
+ data: _objectSpread(_objectSpread({}, data), {}, {
239
+ feedback: {
240
+ type: 'default'
241
+ }
242
+ }),
243
+ onChange: onChange
244
+ })),
245
+ rerender = _render2.rerender;
246
+ var editableElements = _react2.screen.getAllByTestId('editable-html');
247
+ expect(editableElements.length).toBeGreaterThan(0);
248
+ rerender(/*#__PURE__*/_react["default"].createElement(_index.ChoiceConfiguration, {
249
+ classes: classes,
250
+ defaultFeedback: defaultFeedback,
251
+ data: _objectSpread(_objectSpread({}, data), {}, {
252
+ feedback: {
253
+ type: 'custom'
254
+ }
255
+ }),
256
+ onChange: onChange
257
+ }));
258
+ editableElements = _react2.screen.getAllByTestId('editable-html');
259
+ expect(editableElements.length).toBeGreaterThan(0);
260
+ });
261
+ });
262
+ });
263
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfdXNlckV2ZW50IiwiX2luZGV4Iiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJqZXN0IiwibW9jayIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX3JlZiIsIm1hcmt1cCIsIm9uQ2hhbmdlIiwiZGlzYWJsZWQiLCJjcmVhdGVFbGVtZW50IiwiZGVmYXVsdFZhbHVlIiwidGFyZ2V0IiwidmFsdWUiLCJkZWZhdWx0RmVlZGJhY2siLCJjb3JyZWN0IiwiaW5jb3JyZWN0IiwiZGF0YSIsImxhYmVsIiwiZmVlZGJhY2siLCJ0eXBlIiwiY2xhc3NlcyIsImNob2ljZUNvbmZpZ3VyYXRpb24iLCJkZXNjcmliZSIsImZuIiwiYmVmb3JlRWFjaCIsIm1vY2tDbGVhciIsIml0IiwiX3JlbmRlciIsInJlbmRlciIsIkNob2ljZUNvbmZpZ3VyYXRpb24iLCJjb250YWluZXIiLCJleHBlY3QiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiLCJtb2RlIiwiY2hlY2tib3giLCJzY3JlZW4iLCJnZXRCeVJvbGUiLCJ0b0JlQ2hlY2tlZCIsImFsbG93RmVlZEJhY2siLCJxdWVyeUJ5Um9sZSIsIm5hbWUiLCJub3QiLCJhbGxvd0RlbGV0ZSIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwidXNlciIsImVkaXRhYmxlSHRtbEVsZW1lbnRzIiwiZWRpdGFibGVIdG1sIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJ1c2VyRXZlbnQiLCJzZXR1cCIsImdldEFsbEJ5VGVzdElkIiwiY2xlYXIiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJvYmplY3RDb250YWluaW5nIiwic3RyaW5nQ29udGFpbmluZyIsInN0b3AiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsImNsaWNrIiwicmFkaW8iLCJlZGl0YWJsZUVsZW1lbnRzIiwidG9CZUdyZWF0ZXJUaGFuIiwiX3JlbmRlcjIiLCJyZXJlbmRlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jaG9pY2UtY29uZmlndXJhdGlvbi9fX3Rlc3RzX18vaW5kZXgudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgdXNlckV2ZW50IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvdXNlci1ldmVudCc7XG5pbXBvcnQgeyBDaG9pY2VDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCcsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6ICh7IG1hcmt1cCwgb25DaGFuZ2UsIGRpc2FibGVkIH0pID0+IChcbiAgICA8dGV4dGFyZWFcbiAgICAgIGRhdGEtdGVzdGlkPVwiZWRpdGFibGUtaHRtbFwiXG4gICAgICBkZWZhdWx0VmFsdWU9e21hcmt1cCB8fCAnJ31cbiAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gb25DaGFuZ2UoZS50YXJnZXQudmFsdWUpfVxuICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgIC8+XG4gICksXG59KSk7XG5cbmNvbnN0IGRlZmF1bHRGZWVkYmFjayA9IHtcbiAgY29ycmVjdDogJ0NvcnJlY3QnLFxuICBpbmNvcnJlY3Q6ICdJbmNvcnJlY3QnLFxufTtcblxuY29uc3QgZGF0YSA9IHtcbiAgY29ycmVjdDogdHJ1ZSxcbiAgdmFsdWU6ICdmb28nLFxuICBsYWJlbDogJ0ZvbycsXG4gIGZlZWRiYWNrOiB7XG4gICAgdHlwZTogJ2N1c3RvbScsXG4gIH0sXG59O1xuXG5jb25zdCBjbGFzc2VzID0ge1xuICBjaG9pY2VDb25maWd1cmF0aW9uOiAnY2hvaWNlQ29uZmlndXJhdGlvbicsXG59O1xuXG5kZXNjcmliZSgnQ2hvaWNlQ29uZmlndXJhdGlvbicsICgpID0+IHtcbiAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25DaGFuZ2UubW9ja0NsZWFyKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5IHdpdGggZGVmYXVsdCBwcm9wcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uIGNsYXNzZXM9e2NsYXNzZXN9IGRlZmF1bHRGZWVkYmFjaz17ZGVmYXVsdEZlZWRiYWNrfSBkYXRhPXtkYXRhfSBvbkNoYW5nZT17b25DaGFuZ2V9IC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggY2hlY2tlZCBzdGF0ZScsICgpID0+IHtcbiAgICAgIHJlbmRlcihcbiAgICAgICAgPENob2ljZUNvbmZpZ3VyYXRpb25cbiAgICAgICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgICAgIGRlZmF1bHRGZWVkYmFjaz17ZGVmYXVsdEZlZWRiYWNrfVxuICAgICAgICAgIGRhdGE9e2RhdGF9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIG1vZGU9XCJjaGVja2JveFwiXG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNoZWNrYm94ID0gc2NyZWVuLmdldEJ5Um9sZSgnY2hlY2tib3gnKTtcbiAgICAgIGV4cGVjdChjaGVja2JveCkudG9CZUNoZWNrZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgZmVlZGJhY2sgd2hlbiBhbGxvd0ZlZWRCYWNrIGlzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKFxuICAgICAgICA8Q2hvaWNlQ29uZmlndXJhdGlvblxuICAgICAgICAgIGFsbG93RmVlZEJhY2s9e2ZhbHNlfVxuICAgICAgICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgICAgICAgZGVmYXVsdEZlZWRiYWNrPXtkZWZhdWx0RmVlZGJhY2t9XG4gICAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogL2ZlZWRiYWNrL2kgfSkpLm5vdC50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBkZWxldGUgYnV0dG9uIHdoZW4gYWxsb3dEZWxldGUgaXMgZmFsc2UnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uXG4gICAgICAgICAgYWxsb3dEZWxldGU9e2ZhbHNlfVxuICAgICAgICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgICAgICAgZGVmYXVsdEZlZWRiYWNrPXtkZWZhdWx0RmVlZGJhY2t9XG4gICAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogL2RlbGV0ZS9pIH0pKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3VzZXIgaW50ZXJhY3Rpb25zJywgKCkgPT4ge1xuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aGVuIGxhYmVsIGlzIGVkaXRlZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHVzZXIgPSB1c2VyRXZlbnQuc2V0dXAoKTtcbiAgICAgIHJlbmRlcihcbiAgICAgICAgPENob2ljZUNvbmZpZ3VyYXRpb24gY2xhc3Nlcz17Y2xhc3Nlc30gZGVmYXVsdEZlZWRiYWNrPXtkZWZhdWx0RmVlZGJhY2t9IGRhdGE9e2RhdGF9IG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz4sXG4gICAgICApO1xuXG4gICAgICBjb25zdCBlZGl0YWJsZUh0bWxFbGVtZW50cyA9IHNjcmVlbi5nZXRBbGxCeVRlc3RJZCgnZWRpdGFibGUtaHRtbCcpO1xuICAgICAgY29uc3QgZWRpdGFibGVIdG1sID0gZWRpdGFibGVIdG1sRWxlbWVudHNbMF07XG4gICAgICBhd2FpdCB1c2VyLmNsZWFyKGVkaXRhYmxlSHRtbCk7XG4gICAgICBhd2FpdCB1c2VyLnR5cGUoZWRpdGFibGVIdG1sLCAnbmV3IGxhYmVsJyk7XG5cbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAgICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgIGxhYmVsOiBleHBlY3Quc3RyaW5nQ29udGFpbmluZygnbmV3IGxhYmVsJyksXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aGVuIGNoZWNrYm94IGlzIHRvZ2dsZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB1c2VyID0gdXNlckV2ZW50LnNldHVwKCk7XG4gICAgICByZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uXG4gICAgICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgICAgICBkZWZhdWx0RmVlZGJhY2s9e2RlZmF1bHRGZWVkYmFja31cbiAgICAgICAgICBkYXRhPXt7IC4uLmRhdGEsIGNvcnJlY3Q6IGZhbHNlIH19XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIG1vZGU9XCJjaGVja2JveFwiXG4gICAgICAgIC8+LFxuICAgICAgKTtcblxuICAgICAgY29uc3QgY2hlY2tib3ggPSBzY3JlZW4uZ2V0QnlSb2xlKCdjaGVja2JveCcpO1xuICAgICAgYXdhaXQgdXNlci5jbGljayhjaGVja2JveCk7XG5cbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgICBjb3JyZWN0OiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdwcm9wIHZhcmlhdGlvbnMnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aCByYWRpbyBtb2RlIGluc3RlYWQgb2YgY2hlY2tib3gnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uXG4gICAgICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgICAgICBkZWZhdWx0RmVlZGJhY2s9e2RlZmF1bHRGZWVkYmFja31cbiAgICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICBtb2RlPVwicmFkaW9cIlxuICAgICAgICAvPixcbiAgICAgICk7XG4gICAgICBjb25zdCByYWRpbyA9IHNjcmVlbi5nZXRCeVJvbGUoJ3JhZGlvJyk7XG4gICAgICBleHBlY3QocmFkaW8pLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGRpc2FibGVkIHN0YXRlJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKFxuICAgICAgICA8Q2hvaWNlQ29uZmlndXJhdGlvblxuICAgICAgICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgICAgICAgZGVmYXVsdEZlZWRiYWNrPXtkZWZhdWx0RmVlZGJhY2t9XG4gICAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgZGlzYWJsZWQ9e3RydWV9XG4gICAgICAgICAgbW9kZT1cImNoZWNrYm94XCJcbiAgICAgICAgLz4sXG4gICAgICApO1xuICAgICAgY29uc3QgY2hlY2tib3ggPSBzY3JlZW4uZ2V0QnlSb2xlKCdjaGVja2JveCcpO1xuICAgICAgZXhwZWN0KGNoZWNrYm94KS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBjdXN0b20gZmVlZGJhY2sgdHlwZScsICgpID0+IHtcbiAgICAgIHJlbmRlcihcbiAgICAgICAgPENob2ljZUNvbmZpZ3VyYXRpb25cbiAgICAgICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgICAgIGRlZmF1bHRGZWVkYmFjaz17ZGVmYXVsdEZlZWRiYWNrfVxuICAgICAgICAgIGRhdGE9e3sgLi4uZGF0YSwgZmVlZGJhY2s6IHsgdHlwZTogJ2N1c3RvbScgfSB9fVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICBtb2RlPVwiY2hlY2tib3hcIlxuICAgICAgICAvPixcbiAgICAgICk7XG4gICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnRzID0gc2NyZWVuLmdldEFsbEJ5VGVzdElkKCdlZGl0YWJsZS1odG1sJyk7XG4gICAgICBleHBlY3QoZWRpdGFibGVFbGVtZW50cy5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigwKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggaW5jb3JyZWN0IGFuc3dlcicsICgpID0+IHtcbiAgICAgIHJlbmRlcihcbiAgICAgICAgPENob2ljZUNvbmZpZ3VyYXRpb25cbiAgICAgICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgICAgIGRlZmF1bHRGZWVkYmFjaz17ZGVmYXVsdEZlZWRiYWNrfVxuICAgICAgICAgIGRhdGE9e3sgLi4uZGF0YSwgY29ycmVjdDogZmFsc2UgfX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgbW9kZT1cImNoZWNrYm94XCJcbiAgICAgICAgLz4sXG4gICAgICApO1xuICAgICAgY29uc3QgY2hlY2tib3ggPSBzY3JlZW4uZ2V0QnlSb2xlKCdjaGVja2JveCcpO1xuICAgICAgZXhwZWN0KGNoZWNrYm94KS5ub3QudG9CZUNoZWNrZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2VkZ2UgY2FzZXMnLCAoKSA9PiB7XG4gICAgaXQoJ2hhbmRsZXMgZGF0YSB3aXRoIGVtcHR5IGxhYmVsJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKFxuICAgICAgICA8Q2hvaWNlQ29uZmlndXJhdGlvblxuICAgICAgICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgICAgICAgZGVmYXVsdEZlZWRiYWNrPXtkZWZhdWx0RmVlZGJhY2t9XG4gICAgICAgICAgZGF0YT17eyAuLi5kYXRhLCBsYWJlbDogJycgfX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGVkaXRhYmxlRWxlbWVudHMgPSBzY3JlZW4uZ2V0QWxsQnlUZXN0SWQoJ2VkaXRhYmxlLWh0bWwnKTtcbiAgICAgIGV4cGVjdChlZGl0YWJsZUVsZW1lbnRzLmxlbmd0aCkudG9CZUdyZWF0ZXJUaGFuKDApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgbXVsdGlwbGUgZmVlZGJhY2sgdHlwZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHJlcmVuZGVyIH0gPSByZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uXG4gICAgICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgICAgICBkZWZhdWx0RmVlZGJhY2s9e2RlZmF1bHRGZWVkYmFja31cbiAgICAgICAgICBkYXRhPXt7IC4uLmRhdGEsIGZlZWRiYWNrOiB7IHR5cGU6ICdkZWZhdWx0JyB9IH19XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAvPixcbiAgICAgICk7XG5cbiAgICAgIGxldCBlZGl0YWJsZUVsZW1lbnRzID0gc2NyZWVuLmdldEFsbEJ5VGVzdElkKCdlZGl0YWJsZS1odG1sJyk7XG4gICAgICBleHBlY3QoZWRpdGFibGVFbGVtZW50cy5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigwKTtcblxuICAgICAgcmVyZW5kZXIoXG4gICAgICAgIDxDaG9pY2VDb25maWd1cmF0aW9uXG4gICAgICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgICAgICBkZWZhdWx0RmVlZGJhY2s9e2RlZmF1bHRGZWVkYmFja31cbiAgICAgICAgICBkYXRhPXt7IC4uLmRhdGEsIGZlZWRiYWNrOiB7IHR5cGU6ICdjdXN0b20nIH0gfX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+LFxuICAgICAgKTtcblxuICAgICAgZWRpdGFibGVFbGVtZW50cyA9IHNjcmVlbi5nZXRBbGxCeVRlc3RJZCgnZWRpdGFibGUtaHRtbCcpO1xuICAgICAgZXhwZWN0KGVkaXRhYmxlRWxlbWVudHMubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdB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
@@ -131,4 +131,4 @@ var FeedbackMenu = exports["default"] = /*#__PURE__*/function (_React$Component2
131
131
  (0, _defineProperty2["default"])(FeedbackMenu, "defaultProps", {
132
132
  classes: {}
133
133
  });
134
- //# sourceMappingURL=feedback-menu.js.map
134
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTWVudSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX01lbnVJdGVtIiwiX0ZlZWRiYWNrIiwiX0ljb25CdXR0b24iLCJfcHJvcFR5cGVzIiwiX3JlYWN0IiwiX2NhbGxTdXBlciIsInQiLCJvIiwiZSIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJJY29uTWVudSIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfZGVmaW5lUHJvcGVydHkyIiwiZXZlbnQiLCJzZXRTdGF0ZSIsIm9wZW4iLCJhbmNob3JFbCIsImN1cnJlbnRUYXJnZXQiLCJzdGF0ZSIsInVuZGVmaW5lZCIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wcyIsIm9wdHMiLCJvbkNsaWNrIiwia2V5cyIsIk9iamVjdCIsImhhbmRsZU1lbnVDbGljayIsImhhbmRsZVJlcXVlc3RDbG9zZSIsImNyZWF0ZUVsZW1lbnQiLCJoYW5kbGVDbGljayIsImljb25CdXR0b25FbGVtZW50IiwiaWQiLCJvbkNsb3NlIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwiZW50ZXIiLCJleGl0IiwibWFwIiwiayIsImluZGV4IiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJmdW5jIiwiaXNSZXF1aXJlZCIsImFueSIsIkZlZWRiYWNrTWVudSIsIl9SZWFjdCRDb21wb25lbnQyIiwiYXJndW1lbnRzIiwiX3RoaXMkcHJvcHMyIiwib25DaGFuZ2UiLCJjbGFzc2VzIiwidHlwZSIsImljb25Db2xvciIsInRvb2x0aXAiLCJpY29uIiwiY2xhc3NOYW1lIiwic2l6ZSIsImNvbG9yIiwibm9uZSIsImN1c3RvbSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaG9pY2UtY29uZmlndXJhdGlvbi9mZWVkYmFjay1tZW51LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTWVudSBmcm9tICdAbXVpL21hdGVyaWFsL01lbnUnO1xuaW1wb3J0IE1lbnVJdGVtIGZyb20gJ0BtdWkvbWF0ZXJpYWwvTWVudUl0ZW0nO1xuaW1wb3J0IEFjdGlvbkZlZWRiYWNrIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvRmVlZGJhY2snO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSAnQG11aS9tYXRlcmlhbC9JY29uQnV0dG9uJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgY2xhc3MgSWNvbk1lbnUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9wdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpY29uQnV0dG9uRWxlbWVudDogUHJvcFR5cGVzLmFueSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgYW5jaG9yRWw6IHVuZGVmaW5lZCxcbiAgICAgIG9wZW46IGZhbHNlLFxuICAgIH07XG4gIH1cblxuICBoYW5kbGVDbGljayA9IChldmVudCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBvcGVuOiB0cnVlLCBhbmNob3JFbDogZXZlbnQuY3VycmVudFRhcmdldCB9KTtcbiAgfTtcblxuICBoYW5kbGVSZXF1ZXN0Q2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG9wZW46IGZhbHNlIH0pO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG9wdHMsIG9uQ2xpY2sgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9wdHMpO1xuXG4gICAgY29uc3QgaGFuZGxlTWVudUNsaWNrID0gKGtleSkgPT4gKCkgPT4ge1xuICAgICAgb25DbGljayhrZXkpO1xuICAgICAgdGhpcy5oYW5kbGVSZXF1ZXN0Q2xvc2UoKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgb25DbGljaz17dGhpcy5oYW5kbGVDbGlja30+e3RoaXMucHJvcHMuaWNvbkJ1dHRvbkVsZW1lbnR9PC9kaXY+XG4gICAgICAgIDxNZW51IGlkPVwic2ltcGxlLW1lbnVcIiBhbmNob3JFbD17dGhpcy5zdGF0ZS5hbmNob3JFbH0gb3Blbj17dGhpcy5zdGF0ZS5vcGVufSBvbkNsb3NlPXt0aGlzLmhhbmRsZVJlcXVlc3RDbG9zZX0gdHJhbnNpdGlvbkR1cmF0aW9uPXt7IGVudGVyOiAyMjUsIGV4aXQ6IDE5NSB9fT5cbiAgICAgICAgICB7a2V5cy5tYXAoKGssIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8TWVudUl0ZW0ga2V5PXtpbmRleH0gb25DbGljaz17aGFuZGxlTWVudUNsaWNrKGspfT5cbiAgICAgICAgICAgICAge29wdHNba119XG4gICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L01lbnU+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZlZWRiYWNrTWVudSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgdmFsdWU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY2xhc3Nlczoge30sXG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdmFsdWUsIG9uQ2hhbmdlLCBjbGFzc2VzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHQgPSB2YWx1ZSAmJiB2YWx1ZS50eXBlO1xuICAgIGNvbnN0IGljb25Db2xvciA9IHQgPT09ICdjdXN0b20nIHx8IHQgPT09ICdkZWZhdWx0JyA/ICdwcmltYXJ5JyA6ICdkaXNhYmxlZCc7XG4gICAgY29uc3QgdG9vbHRpcCA9IHQgPT09ICdjdXN0b20nID8gJ0N1c3RvbSBGZWVkYmFjaycgOiB0ID09PSAnZGVmYXVsdCcgPyAnRGVmYXVsdCBGZWVkYmFjaycgOiAnRmVlZGJhY2sgZGlzYWJsZWQnO1xuXG4gICAgY29uc3QgaWNvbiA9IChcbiAgICAgIDxJY29uQnV0dG9uIGNsYXNzTmFtZT17Y2xhc3Nlcy5pY29ufSBhcmlhLWxhYmVsPXt0b29sdGlwfSBzaXplPVwibGFyZ2VcIj5cbiAgICAgICAgPEFjdGlvbkZlZWRiYWNrIGNvbG9yPXtpY29uQ29sb3J9IC8+XG4gICAgICA8L0ljb25CdXR0b24+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8SWNvbk1lbnVcbiAgICAgICAgaWNvbkJ1dHRvbkVsZW1lbnQ9e2ljb259XG4gICAgICAgIG9uQ2xpY2s9eyhrZXkpID0+IG9uQ2hhbmdlKGtleSl9XG4gICAgICAgIG9wdHM9e3tcbiAgICAgICAgICBub25lOiAnTm8gRmVlZGJhY2snLFxuICAgICAgICAgIGRlZmF1bHQ6ICdEZWZhdWx0JyxcbiAgICAgICAgICBjdXN0b206ICdDdXN0b20nLFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFD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
@@ -394,4 +394,4 @@ var ChoiceConfiguration = exports.ChoiceConfiguration = /*#__PURE__*/function (_
394
394
  allowDelete: true
395
395
  });
396
396
  var _default = exports["default"] = ChoiceConfiguration;
397
- //# sourceMappingURL=index.js.map
397
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX1RleHRGaWVsZCIsIl9EZWxldGUiLCJfU3ViZGlyZWN0b3J5QXJyb3dSaWdodCIsIl9JY29uQnV0dG9uIiwiX3JlbmRlclVpIiwiX2lucHV0cyIsIl9mZWVkYmFja01lbnUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsIkVkaXRhYmxlSHRtbCIsIndpbmRvdyIsIlN0eWxlZEVkaXRvckhvbGRlciIsInN0eWxlZCIsIl9yZWYiLCJ0aGVtZSIsIm1hcmdpblRvcCIsInNwYWNpbmciLCJFZGl0YWJsZUh0bWxDb250YWluZXIiLCJfcmVmMiIsImxhYmVsIiwib25DaGFuZ2UiLCJ2YWx1ZSIsImNsYXNzTmFtZSIsImltYWdlU3VwcG9ydCIsImRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnMiLCJkaXNhYmxlZCIsInNwZWxsQ2hlY2siLCJub25FbXB0eSIsInBsdWdpbk9wdHMiLCJ0b29sYmFyT3B0cyIsImVycm9yIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwidXBsb2FkU291bmRTdXBwb3J0IiwiX3JlZjIkbWF0aE1sT3B0aW9ucyIsIm1hdGhNbE9wdGlvbnMiLCJjcmVhdGVFbGVtZW50IiwiSW5wdXRDb250YWluZXIiLCJtYXJrdXAiLCJwbHVnaW5Qcm9wcyIsImxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzIiwibGFuZ3VhZ2UiLCJTdHlsZWRGZWVkYmFja0NvbnRhaW5lciIsInBvc2l0aW9uIiwiU3R5bGVkQXJyb3dJY29uIiwiQXJyb3dSaWdodCIsIl9yZWYzIiwiZmlsbCIsInBhbGV0dGUiLCJncmV5IiwibGVmdCIsInRvcCIsIlN0eWxlZFRleHRGaWVsZCIsIlRleHRGaWVsZCIsIl9yZWY0Iiwid2lkdGgiLCJTdHlsZWRFZGl0YWJsZUh0bWxDb250YWluZXIiLCJfcmVmNSIsIkZlZWRiYWNrIiwiX3JlZjYiLCJ0eXBlIiwiY29ycmVjdCIsImRlZmF1bHRzIiwiX3JlZjYkbWF0aE1sT3B0aW9ucyIsImluY29ycmVjdCIsInZhcmlhbnQiLCJTdHlsZWRJbmRleCIsIl9yZWY3IiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ1RvcCIsIlN0eWxlZFRvcFJvdyIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiU3R5bGVkVG9nZ2xlIiwiX3JlZjgiLCJmbGV4IiwicGFkZGluZ0JvdHRvbSIsIm1hcmdpblJpZ2h0IiwibWFyZ2luTGVmdCIsIlN0eWxlZEZlZWRiYWNrIiwiX3JlZjkiLCJwYWRkaW5nTGVmdCIsIlN0eWxlZEZlZWRiYWNrSWNvbiIsIm1hcmdpbiIsIlN0eWxlZERlbGV0ZUljb24iLCJTdHlsZWREZWxldGUiLCJfcmVmMCIsIlN0eWxlZE1pZGRsZUNvbHVtbiIsIl9yZWYxIiwiZmxleERpcmVjdGlvbiIsIlN0eWxlZEVycm9yVGV4dCIsIl9yZWYxMCIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsImNvbG9yIiwibWFpbiIsIkNob2ljZUNvbmZpZ3VyYXRpb24iLCJleHBvcnRzIiwiX1JlYWN0JENvbXBvbmVudCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0Iiwia2V5IiwidXBkYXRlIiwiX3RoaXMkcHJvcHMiLCJwcm9wcyIsImRhdGEiLCJfY2hhbmdlRm4iLCJldmVudCIsInRhcmdldCIsImNoZWNrZWQiLCJfdGhpcyRwcm9wczIiLCJ2IiwiX3RoaXMkcHJvcHMzIiwiZmVlZGJhY2siLCJmYiIsIl90aGlzJHByb3BzNCIsInVuZGVmaW5lZCIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwicmVuZGVyIiwiX3RoaXMkcHJvcHM1IiwibW9kZSIsIm9uRGVsZXRlIiwiZGVmYXVsdEZlZWRiYWNrIiwiaW5kZXgiLCJub0xhYmVscyIsInVzZUxldHRlck9yZGVyaW5nIiwiYWxsb3dGZWVkQmFjayIsImFsbG93RGVsZXRlIiwibm9Db3JyZWN0QW5zd2VyRXJyb3IiLCJfdGhpcyRwcm9wczUkbWF0aE1sT3AiLCJJbnB1dFRvZ2dsZSIsIklucHV0Q2hlY2tib3giLCJJbnB1dFJhZGlvIiwiU3RyaW5nIiwiZnJvbUNoYXJDb2RlIiwidG9VcHBlckNhc2UiLCJvbkNoZWNrZWRDaGFuZ2UiLCJvbkxhYmVsQ2hhbmdlIiwiX2V4dGVuZHMyIiwib25GZWVkYmFja1ZhbHVlQ2hhbmdlIiwib25GZWVkYmFja1R5cGVDaGFuZ2UiLCJvbkNsaWNrIiwic2l6ZSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiYm9vbCIsInN0cmluZyIsIm9uZU9mIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsInNoYXBlIiwiZnVuYyIsIm51bWJlciIsImFkZCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nob2ljZS1jb25maWd1cmF0aW9uL2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCBUZXh0RmllbGQgZnJvbSAnQG11aS9tYXRlcmlhbC9UZXh0RmllbGQnO1xuaW1wb3J0IEFjdGlvbkRlbGV0ZSBmcm9tICdAbXVpL2ljb25zLW1hdGVyaWFsL0RlbGV0ZSc7XG5pbXBvcnQgQXJyb3dSaWdodCBmcm9tICdAbXVpL2ljb25zLW1hdGVyaWFsL1N1YmRpcmVjdG9yeUFycm93UmlnaHQnO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSAnQG11aS9tYXRlcmlhbC9JY29uQnV0dG9uJztcbmltcG9ydCB7IElucHV0Q29udGFpbmVyIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbi8vIGltcG9ydCBFZGl0YWJsZUh0bWwgZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbC10aXAtdGFwJztcbmltcG9ydCB7IElucHV0Q2hlY2tib3gsIElucHV0UmFkaW8gfSBmcm9tICcuLi9pbnB1dHMnO1xuaW1wb3J0IEZlZWRiYWNrTWVudSBmcm9tICcuL2ZlZWRiYWNrLW1lbnUnO1xuXG4vLyAtIG1hdGhxdWlsbCBlcnJvciB3aW5kb3cgbm90IGRlZmluZWRcbmxldCBFZGl0YWJsZUh0bWw7XG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgRWRpdGFibGVIdG1sID0gcmVxdWlyZSgnQHBpZS1saWIvZWRpdGFibGUtaHRtbC10aXAtdGFwJylbJ2RlZmF1bHQnXTtcbn1cblxuY29uc3QgU3R5bGVkRWRpdG9ySG9sZGVyID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBtYXJnaW5Ub3A6IHRoZW1lLnNwYWNpbmcoMiksXG59KSk7XG5cbmNvbnN0IEVkaXRhYmxlSHRtbENvbnRhaW5lciA9ICh7XG4gIGxhYmVsLFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGNsYXNzTmFtZSxcbiAgaW1hZ2VTdXBwb3J0LFxuICBkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zLFxuICBkaXNhYmxlZCxcbiAgc3BlbGxDaGVjayxcbiAgbm9uRW1wdHksXG4gIHBsdWdpbk9wdHMsXG4gIHRvb2xiYXJPcHRzLFxuICBlcnJvcixcbiAgbWF4SW1hZ2VXaWR0aCxcbiAgbWF4SW1hZ2VIZWlnaHQsXG4gIHVwbG9hZFNvdW5kU3VwcG9ydCxcbiAgbWF0aE1sT3B0aW9ucyA9IHt9LFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxJbnB1dENvbnRhaW5lciBsYWJlbD17bGFiZWx9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgIDxTdHlsZWRFZGl0b3JIb2xkZXI+XG4gICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICBtYXJrdXA9e3ZhbHVlIHx8ICcnfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrfVxuICAgICAgICAgIG5vbkVtcHR5PXtub25FbXB0eX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgaW1hZ2VTdXBwb3J0PXtpbWFnZVN1cHBvcnR9XG4gICAgICAgICAgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucz17ZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9uc31cbiAgICAgICAgICBwbHVnaW5Qcm9wcz17cGx1Z2luT3B0cyB8fCB7fX1cbiAgICAgICAgICB0b29sYmFyT3B0cz17dG9vbGJhck9wdHN9XG4gICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgIG1heEltYWdlV2lkdGg9e21heEltYWdlV2lkdGh9XG4gICAgICAgICAgbWF4SW1hZ2VIZWlnaHQ9e21heEltYWdlSGVpZ2h0fVxuICAgICAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17dXBsb2FkU291bmRTdXBwb3J0fVxuICAgICAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzPXtbeyBsYW5ndWFnZTogJ3NwYW5pc2gnIH0sIHsgbGFuZ3VhZ2U6ICdzcGVjaWFsJyB9XX1cbiAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRFZGl0b3JIb2xkZXI+XG4gICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmNvbnN0IFN0eWxlZEZlZWRiYWNrQ29udGFpbmVyID0gc3R5bGVkKCdkaXYnKSgoKSA9PiAoe1xuICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbn0pKTtcblxuY29uc3QgU3R5bGVkQXJyb3dJY29uID0gc3R5bGVkKEFycm93UmlnaHQpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGZpbGw6IHRoZW1lLnBhbGV0dGUuZ3JleVs0MDBdLFxuICBsZWZ0OiAtNTYsXG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB0b3A6IDQwLFxufSkpO1xuXG5jb25zdCBTdHlsZWRUZXh0RmllbGQgPSBzdHlsZWQoVGV4dEZpZWxkKSgoeyB0aGVtZSB9KSA9PiAoe1xuICB3aWR0aDogJzEwMCUnLFxuICBtYXJnaW5Ub3A6IHRoZW1lLnNwYWNpbmcoMiksXG59KSk7XG5cbmNvbnN0IFN0eWxlZEVkaXRhYmxlSHRtbENvbnRhaW5lciA9IHN0eWxlZChFZGl0YWJsZUh0bWxDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIHdpZHRoOiAnMTAwJScsXG4gIG1hcmdpblRvcDogdGhlbWUuc3BhY2luZygyKSxcbn0pKTtcblxuY29uc3QgRmVlZGJhY2sgPSAoeyB2YWx1ZSwgb25DaGFuZ2UsIHR5cGUsIGNvcnJlY3QsIGRlZmF1bHRzLCB0b29sYmFyT3B0cywgbWF0aE1sT3B0aW9ucyA9IHt9IH0pID0+IHtcbiAgaWYgKCF0eXBlIHx8IHR5cGUgPT09ICdub25lJykge1xuICAgIHJldHVybiBudWxsO1xuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkZWZhdWx0Jykge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRmVlZGJhY2tDb250YWluZXI+XG4gICAgICAgIDxTdHlsZWRBcnJvd0ljb24gLz5cbiAgICAgICAgPFN0eWxlZFRleHRGaWVsZFxuICAgICAgICAgIGxhYmVsPVwiRmVlZGJhY2sgVGV4dFwiXG4gICAgICAgICAgdmFsdWU9e2NvcnJlY3QgPyBkZWZhdWx0cy5jb3JyZWN0IDogZGVmYXVsdHMuaW5jb3JyZWN0fVxuICAgICAgICAgIHZhcmlhbnQ9XCJzdGFuZGFyZFwiXG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZEZlZWRiYWNrQ29udGFpbmVyPlxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRGZWVkYmFja0NvbnRhaW5lcj5cbiAgICAgICAgPFN0eWxlZEFycm93SWNvbiAvPlxuICAgICAgICA8U3R5bGVkRWRpdGFibGVIdG1sQ29udGFpbmVyXG4gICAgICAgICAgbGFiZWw9XCJGZWVkYmFjayBUZXh0XCJcbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRGZWVkYmFja0NvbnRhaW5lcj5cbiAgICApO1xuICB9XG59O1xuXG5jb25zdCBTdHlsZWRJbmRleCA9IHN0eWxlZCgnc3BhbicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIHBhZGRpbmdSaWdodDogdGhlbWUuc3BhY2luZygxKSxcbiAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZygzKSxcbn0pKTtcblxuY29uc3QgU3R5bGVkVG9wUm93ID0gc3R5bGVkKCdkaXYnKSgoKSA9PiAoe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxufSkpO1xuXG5jb25zdCBTdHlsZWRUb2dnbGUgPSBzdHlsZWQoJ2RpdicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGZsZXg6ICcwIDEgYXV0bycsXG4gIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcoMC41KSxcbiAgcGFkZGluZ0JvdHRvbTogMCxcbiAgbWFyZ2luUmlnaHQ6IDAsXG4gIG1hcmdpbkxlZnQ6IHRoZW1lLnNwYWNpbmcoMSksXG59KSk7XG5cbmNvbnN0IFN0eWxlZEZlZWRiYWNrID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBmbGV4OiAnMCAxIGF1dG8nLFxuICBwYWRkaW5nVG9wOiB0aGVtZS5zcGFjaW5nKDIpLFxuICBwYWRkaW5nTGVmdDogMCxcbiAgbWFyZ2luTGVmdDogMCxcbiAgbWFyZ2luUmlnaHQ6IHRoZW1lLnNwYWNpbmcoMSksXG59KSk7XG5cbmNvbnN0IFN0eWxlZEZlZWRiYWNrSWNvbiA9IHN0eWxlZCgnZGl2JykoKCkgPT4gKHtcbiAgbWFyZ2luOiAwLFxuICB3aWR0aDogJ2luaGVyaXQnLFxufSkpO1xuXG5jb25zdCBTdHlsZWREZWxldGVJY29uID0gc3R5bGVkKCdkaXYnKSgoKSA9PiAoe1xuICBtYXJnaW46IDAsXG4gIHdpZHRoOiAnaW5oZXJpdCcsXG59KSk7XG5cbmNvbnN0IFN0eWxlZERlbGV0ZSA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgZmxleDogJzAgMSBhdXRvJyxcbiAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZygyKSxcbiAgcGFkZGluZ0xlZnQ6IDAsXG4gIG1hcmdpbkxlZnQ6IDAsXG59KSk7XG5cbmNvbnN0IFN0eWxlZE1pZGRsZUNvbHVtbiA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4OiAxLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgbWFyZ2luUmlnaHQ6IHRoZW1lLnNwYWNpbmcoMSksXG59KSk7XG5cbmNvbnN0IFN0eWxlZEVycm9yVGV4dCA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUgLSAyLFxuICBjb2xvcjogdGhlbWUucGFsZXR0ZS5lcnJvci5tYWluLFxufSkpO1xuXG5leHBvcnQgY2xhc3MgQ2hvaWNlQ29uZmlndXJhdGlvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgbm9MYWJlbHM6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZUxldHRlck9yZGVyaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZXJyb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbW9kZTogUHJvcFR5cGVzLm9uZU9mKFsnY2hlY2tib3gnLCAncmFkaW8nXSksXG4gICAgZGVmYXVsdEZlZWRiYWNrOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIG5vbkVtcHR5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkYXRhOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBjb3JyZWN0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgIGZlZWRiYWNrOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIH0pLFxuICAgIH0pLFxuICAgIG9uRGVsZXRlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaW5kZXg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgaW1hZ2VTdXBwb3J0OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgYWRkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgZGVsZXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH0pLFxuICAgIGRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnM6IFByb3BUeXBlcy5ib29sLFxuICAgIGFsbG93RmVlZEJhY2s6IFByb3BUeXBlcy5ib29sLFxuICAgIGFsbG93RGVsZXRlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBub0NvcnJlY3RBbnN3ZXJFcnJvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzcGVsbENoZWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBwbHVnaW5PcHRzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHRvb2xiYXJPcHRzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHVwbG9hZFNvdW5kU3VwcG9ydDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtYXhJbWFnZVdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIG1heEltYWdlSGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgaW5kZXg6IC0xLFxuICAgIG5vTGFiZWxzOiBmYWxzZSxcbiAgICB1c2VMZXR0ZXJPcmRlcmluZzogZmFsc2UsXG4gICAgYWxsb3dGZWVkQmFjazogdHJ1ZSxcbiAgICBhbGxvd0RlbGV0ZTogdHJ1ZSxcbiAgfTtcblxuICBfY2hhbmdlRm4gPSAoa2V5KSA9PiAodXBkYXRlKSA9PiB7XG4gICAgY29uc3QgeyBkYXRhLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChvbkNoYW5nZSkge1xuICAgICAgb25DaGFuZ2UoeyAuLi5kYXRhLCBba2V5XTogdXBkYXRlIH0pO1xuICAgIH1cbiAgfTtcblxuICBvbkxhYmVsQ2hhbmdlID0gdGhpcy5fY2hhbmdlRm4oJ2xhYmVsJyk7XG5cbiAgb25DaGVja2VkQ2hhbmdlID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgY29ycmVjdCA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xuICAgIGNvbnN0IHsgZGF0YSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgIG9uQ2hhbmdlKHsgLi4uZGF0YSwgY29ycmVjdCB9KTtcbiAgICB9XG4gIH07XG5cbiAgb25GZWVkYmFja1ZhbHVlQ2hhbmdlID0gKHYpID0+IHtcbiAgICBjb25zdCB7IGRhdGEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGRhdGEuZmVlZGJhY2sudHlwZSAhPT0gJ2N1c3RvbScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmYiA9IHsgLi4uZGF0YS5mZWVkYmFjaywgdmFsdWU6IHYgfTtcblxuICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UoeyAuLi5kYXRhLCBmZWVkYmFjazogZmIgfSk7XG4gIH07XG5cbiAgb25GZWVkYmFja1R5cGVDaGFuZ2UgPSAodCkgPT4ge1xuICAgIGNvbnN0IHsgZGF0YSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZmIgPSB7IC4uLmRhdGEuZmVlZGJhY2ssIHR5cGU6IHQgfTtcblxuICAgIGlmIChmYi50eXBlICE9PSAnY3VzdG9tJykge1xuICAgICAgZmIudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKG9uQ2hhbmdlKSBvbkNoYW5nZSh7IC4uLmRhdGEsIGZlZWRiYWNrOiBmYiB9KTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YSxcbiAgICAgIG1vZGUsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIGRlZmF1bHRGZWVkYmFjayxcbiAgICAgIGluZGV4LFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgbm9MYWJlbHMsXG4gICAgICB1c2VMZXR0ZXJPcmRlcmluZyxcbiAgICAgIGltYWdlU3VwcG9ydCxcbiAgICAgIGRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnMsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHNwZWxsQ2hlY2ssXG4gICAgICBub25FbXB0eSxcbiAgICAgIGFsbG93RmVlZEJhY2ssXG4gICAgICBhbGxvd0RlbGV0ZSxcbiAgICAgIHBsdWdpbk9wdHMsXG4gICAgICB0b29sYmFyT3B0cyxcbiAgICAgIGVycm9yLFxuICAgICAgbm9Db3JyZWN0QW5zd2VyRXJyb3IsXG4gICAgICB1cGxvYWRTb3VuZFN1cHBvcnQsXG4gICAgICBtYXhJbWFnZVdpZHRoLFxuICAgICAgbWF4SW1hZ2VIZWlnaHQsXG4gICAgICBtYXRoTWxPcHRpb25zID0ge30sXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBJbnB1dFRvZ2dsZSA9IG1vZGUgPT09ICdjaGVja2JveCcgPyBJbnB1dENoZWNrYm94IDogSW5wdXRSYWRpbztcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkVG9wUm93PlxuICAgICAgICB7aW5kZXggPiAwICYmIChcbiAgICAgICAgICA8U3R5bGVkSW5kZXggdHlwZT1cInRpdGxlXCI+XG4gICAgICAgICAgICB7dXNlTGV0dGVyT3JkZXJpbmcgPyBTdHJpbmcuZnJvbUNoYXJDb2RlKDk2ICsgaW5kZXgpLnRvVXBwZXJDYXNlKCkgOiBpbmRleH1cbiAgICAgICAgICA8L1N0eWxlZEluZGV4PlxuICAgICAgICApfVxuXG4gICAgICAgIDxTdHlsZWRUb2dnbGU+XG4gICAgICAgICAgPElucHV0VG9nZ2xlXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoZWNrZWRDaGFuZ2V9XG4gICAgICAgICAgICBsYWJlbD17IW5vTGFiZWxzID8gJ0NvcnJlY3QnIDogJyd9XG4gICAgICAgICAgICBjaGVja2VkPXshIWRhdGEuY29ycmVjdH1cbiAgICAgICAgICAgIGVycm9yPXtub0NvcnJlY3RBbnN3ZXJFcnJvcn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFRvZ2dsZT5cblxuICAgICAgICA8U3R5bGVkTWlkZGxlQ29sdW1uPlxuICAgICAgICAgIDxFZGl0YWJsZUh0bWxDb250YWluZXJcbiAgICAgICAgICAgIGxhYmVsPXshbm9MYWJlbHMgPyAnTGFiZWwnIDogJyd9XG4gICAgICAgICAgICB2YWx1ZT17ZGF0YS5sYWJlbH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uTGFiZWxDaGFuZ2V9XG4gICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAgIGRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnM9e2Rpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnN9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrfVxuICAgICAgICAgICAgbm9uRW1wdHk9e25vbkVtcHR5fVxuICAgICAgICAgICAgcGx1Z2luT3B0cz17cGx1Z2luT3B0c31cbiAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICAgIGVycm9yPXtlcnJvcn1cbiAgICAgICAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17dXBsb2FkU291bmRTdXBwb3J0fVxuICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAgIG1heEltYWdlV2lkdGg9e21heEltYWdlV2lkdGh9XG4gICAgICAgICAgICBtYXhJbWFnZUhlaWdodD17bWF4SW1hZ2VIZWlnaHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7ZXJyb3IgJiYgPFN0eWxlZEVycm9yVGV4dD57ZXJyb3J9PC9TdHlsZWRFcnJvclRleHQ+fVxuXG4gICAgICAgICAge2FsbG93RmVlZEJhY2sgJiYgKFxuICAgICAgICAgICAgPEZlZWRiYWNrXG4gICAgICAgICAgICAgIHsuLi5kYXRhLmZlZWRiYWNrfVxuICAgICAgICAgICAgICBjb3JyZWN0PXtkYXRhLmNvcnJlY3R9XG4gICAgICAgICAgICAgIGRlZmF1bHRzPXtkZWZhdWx0RmVlZGJhY2t9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uRmVlZGJhY2tWYWx1ZUNoYW5nZX1cbiAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3Rvb2xiYXJPcHRzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1N0eWxlZE1pZGRsZUNvbHVtbj5cblxuICAgICAgICB7YWxsb3dGZWVkQmFjayAmJiAoXG4gICAgICAgICAgPFN0eWxlZEZlZWRiYWNrPlxuICAgICAgICAgICAgPElucHV0Q29udGFpbmVyIGxhYmVsPXshbm9MYWJlbHMgPyAnRmVlZGJhY2snIDogJyd9PlxuICAgICAgICAgICAgICA8U3R5bGVkRmVlZGJhY2tJY29uPlxuICAgICAgICAgICAgICAgIDxGZWVkYmFja01lbnUgb25DaGFuZ2U9e3RoaXMub25GZWVkYmFja1R5cGVDaGFuZ2V9IHZhbHVlPXtkYXRhLmZlZWRiYWNrfSAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZEZlZWRiYWNrSWNvbj5cbiAgICAgICAgICAgIDwvSW5wdXRDb250YWluZXI+XG4gICAgICAgICAgPC9TdHlsZWRGZWVkYmFjaz5cbiAgICAgICAgKX1cblxuICAgICAgICB7YWxsb3dEZWxldGUgJiYgKFxuICAgICAgICAgIDxTdHlsZWREZWxldGU+XG4gICAgICAgICAgICA8SW5wdXRDb250YWluZXIgbGFiZWw9eyFub0xhYmVscyA/ICdEZWxldGUnIDogJyd9PlxuICAgICAgICAgICAgICA8U3R5bGVkRGVsZXRlSWNvbj5cbiAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvbiBhcmlhLWxhYmVsPVwiZGVsZXRlXCIgb25DbGljaz17b25EZWxldGV9IHNpemU9XCJsYXJnZVwiPlxuICAgICAgICAgICAgICAgICAgPEFjdGlvbkRlbGV0ZSAvPlxuICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9TdHlsZWREZWxldGVJY29uPlxuICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICA8L1N0eWxlZERlbGV0ZT5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkVG9wUm93PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ2hvaWNlQ29uZmlndXJhdGlvbjtcbiJdLCJtYXBw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
@@ -50,4 +50,4 @@ var _firstAvailableIndex = exports.firstAvailableIndex = function firstAvailable
50
50
  return "".concat(index);
51
51
  }
52
52
  };
53
- //# sourceMappingURL=choice-utils.js.map
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5jbHVkZXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5Iiwibm9ybWFsaXplQ2hvaWNlcyIsImV4cG9ydHMiLCJtb2RlbCIsImNob2ljZXMiLCJtYXAiLCJjIiwiaW5kZXgiLCJ2YWx1ZSIsImNvbmNhdCIsImZpcnN0QXZhaWxhYmxlSW5kZXgiLCJ2YWx1ZXMiLCJpbmNsdWRlcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jaG9pY2UtdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGluY2x1ZGVzIGZyb20gJ2xvZGFzaC9pbmNsdWRlcyc7XG5cbi8qKlxuICogQWRkIHZhbHVlIHRvIGV2ZXJ5IG1vZGVsLmNob2ljZXMuXG4gKiBAcGFyYW0ge09iamVjdH0gbW9kZWwgdGhlIG1vZGVsIHRvIG5vcm1hbGl6ZVxuICogQHJldHVybiB7T2JqZWN0fSB0aGUgdXBkYXRlZCBtb2RlbFxuICovXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplQ2hvaWNlcyA9IChtb2RlbCkgPT4ge1xuICBjb25zdCBjaG9pY2VzID0gbW9kZWwuY2hvaWNlcy5tYXAoKGMsIGluZGV4KSA9PiB7XG4gICAgaWYgKCFjLnZhbHVlKSB7XG4gICAgICBjLnZhbHVlID0gYCR7aW5kZXh9YDtcbiAgICB9XG4gICAgcmV0dXJuIGM7XG4gIH0pO1xuICByZXR1cm4geyAuLi5tb2RlbCwgY2hvaWNlcyB9O1xufTtcblxuLyoqXG4gKiBGaW5kIHRoZSBmaXJzdCBhdmFpbGFibGUgaW5kZXguXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSB2YWx1ZXNcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgY29uc3QgZmlyc3RBdmFpbGFibGVJbmRleCA9ICh2YWx1ZXMsIGluZGV4KSA9PiB7XG4gIGlmIChpbmNsdWRlcyh2YWx1ZXMsIGAke2luZGV4fWApKSB7XG4gICAgcmV0dXJuIGZpcnN0QXZhaWxhYmxlSW5kZXgodmFsdWVzLCBpbmRleCArIDEpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBgJHtpbmRleH1gO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsU0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQXVDLFNBQUFDLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFBQyxDQUFBLFdBQUFXLFNBQUEsQ0FBQVosQ0FBQSxJQUFBWSxTQUFBLENBQUFaLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxPQUFBYSxPQUFBLFdBQUFkLENBQUEsUUFBQWUsZ0JBQUEsYUFBQWhCLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLENBQUFELENBQUEsU0FBQUUsTUFBQSxDQUFBYyx5QkFBQSxHQUFBZCxNQUFBLENBQUFlLGdCQUFBLENBQUFsQixDQUFBLEVBQUFHLE1BQUEsQ0FBQWMseUJBQUEsQ0FBQWYsQ0FBQSxLQUFBSCxPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxHQUFBYSxPQUFBLFdBQUFkLENBQUEsSUFBQUUsTUFBQSxDQUFBZ0IsY0FBQSxDQUFBbkIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQU4sQ0FBQSxFQUFBRCxDQUFBLGlCQUFBRCxDQUFBO0FBRXZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNb0IsZ0JBQWdCLEdBQUFDLE9BQUEsQ0FBQUQsZ0JBQUEsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFJRSxLQUFLLEVBQUs7RUFDekMsSUFBTUMsT0FBTyxHQUFHRCxLQUFLLENBQUNDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLFVBQUNDLENBQUMsRUFBRUMsS0FBSyxFQUFLO0lBQzlDLElBQUksQ0FBQ0QsQ0FBQyxDQUFDRSxLQUFLLEVBQUU7TUFDWkYsQ0FBQyxDQUFDRSxLQUFLLE1BQUFDLE1BQUEsQ0FBTUYsS0FBSyxDQUFFO0lBQ3RCO0lBQ0EsT0FBT0QsQ0FBQztFQUNWLENBQUMsQ0FBQztFQUNGLE9BQUFiLGFBQUEsQ0FBQUEsYUFBQSxLQUFZVSxLQUFLO0lBQUVDLE9BQU8sRUFBUEE7RUFBTztBQUM1QixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU1NLG9CQUFtQixHQUFBUixPQUFBLENBQUFRLG1CQUFBLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSUMsTUFBTSxFQUFFSixLQUFLLEVBQUs7RUFDcEQsSUFBSSxJQUFBSyxvQkFBUSxFQUFDRCxNQUFNLEtBQUFGLE1BQUEsQ0FBS0YsS0FBSyxDQUFFLENBQUMsRUFBRTtJQUNoQyxPQUFPRyxvQkFBbUIsQ0FBQ0MsTUFBTSxFQUFFSixLQUFLLEdBQUcsQ0FBQyxDQUFDO0VBQy9DLENBQUMsTUFBTTtJQUNMLFVBQUFFLE1BQUEsQ0FBVUYsS0FBSztFQUNqQjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=