@pie-lib/mask-markup 2.1.1-next.2 → 2.1.1-next.3

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/LICENSE.md +5 -0
  2. package/NEXT.CHANGELOG.json +1 -0
  3. package/lib/choices/choice.js +1 -15
  4. package/lib/choices/choice.js.map +1 -1
  5. package/lib/choices/index.js +3 -16
  6. package/lib/choices/index.js.map +1 -1
  7. package/lib/componentize.js +1 -5
  8. package/lib/componentize.js.map +1 -1
  9. package/lib/components/blank.js +4 -20
  10. package/lib/components/blank.js.map +1 -1
  11. package/lib/components/correct-input.js +1 -2
  12. package/lib/components/correct-input.js.map +1 -1
  13. package/lib/components/dropdown.js +11 -18
  14. package/lib/components/dropdown.js.map +1 -1
  15. package/lib/components/input.js +1 -2
  16. package/lib/components/input.js.map +1 -1
  17. package/lib/constructed-response.js +1 -12
  18. package/lib/constructed-response.js.map +1 -1
  19. package/lib/customizable.js +1 -4
  20. package/lib/customizable.js.map +1 -1
  21. package/lib/drag-in-the-blank.js +2 -17
  22. package/lib/drag-in-the-blank.js.map +1 -1
  23. package/lib/index.js +1 -2
  24. package/lib/index.js.map +1 -1
  25. package/lib/inline-dropdown.js +1 -6
  26. package/lib/inline-dropdown.js.map +1 -1
  27. package/lib/mask.js +3 -19
  28. package/lib/mask.js.map +1 -1
  29. package/lib/serialization.js +1 -19
  30. package/lib/serialization.js.map +1 -1
  31. package/lib/with-mask.js +1 -6
  32. package/lib/with-mask.js.map +1 -1
  33. package/package.json +7 -7
  34. package/src/__tests__/drag-in-the-blank.test.js +1 -1
  35. package/src/__tests__/index.test.js +0 -1
  36. package/src/choices/index.jsx +2 -7
  37. package/src/components/__tests__/blank.test.js +0 -1
  38. package/src/components/__tests__/dropdown.test.js +2 -2
  39. package/src/components/blank.jsx +8 -2
  40. package/src/components/correct-input.jsx +1 -11
  41. package/src/components/dropdown.jsx +15 -11
  42. package/src/customizable.jsx +0 -1
  43. package/src/drag-in-the-blank.jsx +2 -3
  44. package/src/index.js +1 -1
  45. package/src/mask.jsx +3 -6
  46. package/lib/__tests__/drag-in-the-blank.test.js +0 -136
  47. package/lib/__tests__/index.test.js +0 -49
  48. package/lib/__tests__/mask.test.js +0 -177
  49. package/lib/__tests__/serialization.test.js +0 -44
  50. package/lib/__tests__/utils.js +0 -15
  51. package/lib/__tests__/with-mask.test.js +0 -117
  52. package/lib/choices/__tests__/index.test.js +0 -108
  53. package/lib/components/__tests__/blank.test.js +0 -196
  54. package/lib/components/__tests__/correct-input.test.js +0 -139
  55. package/lib/components/__tests__/dropdown.test.js +0 -144
  56. package/lib/components/__tests__/input.test.js +0 -136
@@ -1,26 +1,10 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.object.define-properties.js");
6
- require("core-js/modules/es.object.define-property.js");
7
- require("core-js/modules/es.object.get-own-property-descriptor.js");
8
- require("core-js/modules/es.object.get-own-property-descriptors.js");
9
- require("core-js/modules/es.object.keys.js");
10
- require("core-js/modules/es.reflect.construct.js");
11
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
12
4
  Object.defineProperty(exports, "__esModule", {
13
5
  value: true
14
6
  });
15
7
  exports["default"] = void 0;
16
- require("core-js/modules/es.array.concat.js");
17
- require("core-js/modules/es.array.find.js");
18
- require("core-js/modules/es.array.for-each.js");
19
- require("core-js/modules/es.array.map.js");
20
- require("core-js/modules/es.object.to-string.js");
21
- require("core-js/modules/es.parse-int.js");
22
- require("core-js/modules/es.string.trim.js");
23
- require("core-js/modules/web.dom-collections.for-each.js");
24
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
25
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
26
10
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
@@ -104,9 +88,18 @@ var StyledMenu = (0, _styles.styled)(_Menu["default"])(function () {
104
88
  });
105
89
  var StyledMenuItem = (0, _styles.styled)(_MenuItem["default"])(function () {
106
90
  return {
91
+ // base text/layout styles (from old JSS - before mui v5 migration)
92
+ height: 24,
93
+ overflow: 'hidden',
94
+ fontSize: '1rem',
95
+ fontWeight: 400,
96
+ fontFamily: 'inherit',
97
+ lineHeight: '1.5em',
98
+ whiteSpace: 'nowrap',
99
+ // custom styles
107
100
  color: _renderUi.color.text(),
108
101
  backgroundColor: _renderUi.color.background(),
109
- '&.Mui-focused': {
102
+ '&.Mui-focusVisible': {
110
103
  outline: "3px solid ".concat(_renderUi.color.tertiary()),
111
104
  outlineOffset: '-1px',
112
105
  // keeps it inside the item
@@ -472,4 +465,4 @@ var Dropdown = /*#__PURE__*/function (_React$Component) {
472
465
  correctValue: _propTypes["default"].string
473
466
  });
474
467
  var _default = exports["default"] = Dropdown;
475
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfQnV0dG9uIiwiX0lucHV0TGFiZWwiLCJfTWVudSIsIl9NZW51SXRlbSIsIl9BcnJvd0Ryb3BEb3duIiwiX0Fycm93RHJvcFVwIiwiX0Nsb3NlIiwiX0NoZWNrIiwiX3N0eWxlcyIsIl9yZW5kZXJVaSIsIl9tYXRoUmVuZGVyaW5nIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJTdHlsZWRCdXR0b24iLCJzdHlsZWQiLCJCdXR0b24iLCJjb2xvciIsInRleHQiLCJib3JkZXIiLCJjb25jYXQiLCJib3JkZXJHcmF5IiwiYm9yZGVyUmFkaXVzIiwianVzdGlmeUNvbnRlbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwicG9zaXRpb24iLCJoZWlnaHQiLCJ3aWR0aCIsIm1hcmdpbiIsInRleHRUcmFuc2Zvcm0iLCJwYWRkaW5nUmlnaHQiLCJyaWdodCIsInRvcCIsInBvaW50ZXJFdmVudHMiLCJtYXJnaW5MZWZ0Iiwib3V0bGluZSIsInRlcnRpYXJ5Iiwib3V0bGluZU9mZnNldCIsImJvcmRlcldpZHRoIiwiYm9yZGVyQ29sb3IiLCJjb3JyZWN0IiwiaW5jb3JyZWN0V2l0aEljb24iLCJTdHlsZWRNZW51IiwiTWVudSIsInBhZGRpbmciLCJTdHlsZWRNZW51SXRlbSIsIk1lbnVJdGVtIiwiZHJvcGRvd25CYWNrZ3JvdW5kIiwiYm94U2l6aW5nIiwiU3R5bGVkTGFiZWwiLCJmb250U2l6ZSIsIlN0eWxlZFNlbGVjdGVkSW5kaWNhdG9yIiwiU3R5bGVkSW5wdXRMYWJlbCIsIklucHV0TGFiZWwiLCJsZWZ0Iiwib3ZlcmZsb3ciLCJTdHlsZWRDb3JyZWN0bmVzc0ljb24iLCJDaGVjayIsIndoaXRlIiwiU3R5bGVkSW5jb3JyZWN0bmVzc0ljb24iLCJDbG9zZSIsIkRyb3Bkb3duIiwiX1JlYWN0JENvbXBvbmVudCIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiZXZlbnQiLCJzZXRTdGF0ZSIsImFuY2hvckVsIiwiY3VycmVudFRhcmdldCIsInZhbHVlIiwicHJldmlld1ZhbHVlIiwiaGlnaGxpZ2h0ZWRPcHRpb25JZCIsInByZXZpZXdSZWYiLCJjdXJyZW50IiwiaW5uZXJIVE1MIiwiaW5kZXgiLCJpZCIsInN0YXRlVXBkYXRlIiwiY2hvaWNlcyIsIm9uQ2hhbmdlIiwiaGFuZGxlSGlnaGxpZ2h0IiwiaGFuZGxlQ2xvc2UiLCJzZWxlY3RlZFZhbHVlIiwic3RhdGUiLCJyZWYiLCJlbGVtZW50UmVmcyIsInByZXZpZXciLCJtZW51V2lkdGgiLCJoaWRkZW5SZWYiLCJSZWFjdCIsImNyZWF0ZVJlZiIsImJ1dHRvblJlZiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwiY29tcG9uZW50RGlkTW91bnQiLCJjbGllbnRXaWR0aCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZTdGF0ZSIsImhpZGRlbkVsIiwiZHJvcGRvd25KdXN0T3BlbmVkIiwiY29udGFpbnNMYXRleCIsInF1ZXJ5U2VsZWN0b3IiLCJoYXNNYXRoSmF4IiwibWF0aEhhbmRsZWQiLCJyZW5kZXJNYXRoIiwibmV3V2lkdGgiLCJnZXRMYWJlbCIsImZvdW5kIiwiZmluZCIsImNob2ljZSIsImxhYmVsIiwidHJpbSIsInVuZGVmaW5lZCIsInJlbmRlciIsIl90aGlzMiIsIl90aGlzJHByb3BzIiwiZGlzYWJsZWQiLCJzaG93Q29ycmVjdEFuc3dlciIsInNpbmdsZVF1ZXJ5IiwiY29ycmVjdFZhbHVlIiwib3BlbiIsImJ1dHRvbklkIiwibWVudUlkIiwidmFsdWVEaXNwbGF5SWQiLCJkaXNhYmxlZENsYXNzIiwiaW5jcmVtZW50ZWRJZCIsInBhcnNlSW50IiwibGFiZWxJZCIsImxhYmVsVGV4dCIsImNvcnJlY3RuZXNzSWNvbiIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJGcmFnbWVudCIsInN0eWxlIiwidmlzaWJpbGl0eSIsInRhYkluZGV4IiwibWFwIiwiYyIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibWluV2lkdGgiLCJ0cmFuc2l0aW9uIiwib25DbGljayIsImhhbmRsZUNsaWNrIiwicm9sZSIsImtlZXBNb3VudGVkIiwib25DbG9zZSIsImdldENvbnRlbnRBbmNob3JFbCIsImFuY2hvck9yaWdpbiIsInZlcnRpY2FsIiwiaG9yaXpvbnRhbCIsInRyYW5zZm9ybU9yaWdpbiIsInRyYW5zaXRpb25EdXJhdGlvbiIsImVudGVyIiwiZXhpdCIsInNsb3RQcm9wcyIsInBhcGVyIiwibGlzdCIsImRpc2FibGVQYWRkaW5nIiwib3B0aW9uSWQiLCJoYW5kbGVTZWxlY3QiLCJvbk1vdXNlT3ZlciIsImhhbmRsZUhvdmVyIiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsImZ1bmMiLCJhcnJheU9mIiwic2hhcGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9kcm9wZG93bi5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQnV0dG9uJztcbmltcG9ydCBJbnB1dExhYmVsIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSW5wdXRMYWJlbCc7XG5pbXBvcnQgTWVudSBmcm9tICdAbXVpL21hdGVyaWFsL01lbnUnO1xuaW1wb3J0IE1lbnVJdGVtIGZyb20gJ0BtdWkvbWF0ZXJpYWwvTWVudUl0ZW0nO1xuaW1wb3J0IEFycm93RHJvcERvd25JY29uIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvQXJyb3dEcm9wRG93bic7XG5pbXBvcnQgQXJyb3dEcm9wVXBJY29uIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvQXJyb3dEcm9wVXAnO1xuaW1wb3J0IENsb3NlIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvQ2xvc2UnO1xuaW1wb3J0IENoZWNrIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvQ2hlY2snO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuXG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuXG5jb25zdCBTdHlsZWRCdXR0b24gPSBzdHlsZWQoQnV0dG9uKSgoKSA9PiAoe1xuICBjb2xvcjogY29sb3IudGV4dCgpLFxuICBib3JkZXI6IGAxcHggc29saWQgJHtjb2xvci5ib3JkZXJHcmF5KCl9YCxcbiAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBoZWlnaHQ6ICc0NXB4JyxcbiAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gIG1hcmdpbjogJzJweCcsXG4gIHRleHRUcmFuc2Zvcm06ICdub25lJyxcbiAgJyYgc3Bhbic6IHtcbiAgICBwYWRkaW5nUmlnaHQ6ICc1cHgnLFxuICB9LFxuICAnJiBzdmcnOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcmlnaHQ6IDAsXG4gICAgdG9wOiAnY2FsYyg1MCUgLSAxMnB4KScsXG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gICAgbWFyZ2luTGVmdDogJzVweCcsXG4gIH0sXG4gICcmLk11aS1mb2N1c2VkJzoge1xuICAgIG91dGxpbmU6IGAzcHggc29saWQgJHtjb2xvci50ZXJ0aWFyeSgpfWAsXG4gICAgb3V0bGluZU9mZnNldDogJzJweCcsXG4gICAgYm9yZGVyV2lkdGg6ICczcHgnLFxuICB9LFxuICAnJi5kaXNhYmxlZENvcnJlY3QnOiB7XG4gICAgYm9yZGVyV2lkdGg6ICcycHgnLFxuICAgIGJvcmRlckNvbG9yOiBjb2xvci5jb3JyZWN0KCksXG4gICAgY29sb3I6IGAke2NvbG9yLnRleHQoKX0gIWltcG9ydGFudGAsXG4gIH0sXG4gICcmLmRpc2FibGVkSW5jb3JyZWN0Jzoge1xuICAgIGJvcmRlcldpZHRoOiAnMnB4JyxcbiAgICBib3JkZXJDb2xvcjogY29sb3IuaW5jb3JyZWN0V2l0aEljb24oKSxcbiAgICBjb2xvcjogYCR7Y29sb3IudGV4dCgpfSAhaW1wb3J0YW50YCxcbiAgfSxcbn0pKTtcblxuY29uc3QgU3R5bGVkTWVudSA9IHN0eWxlZChNZW51KSgoKSA9PiAoe1xuICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Y29sb3IuY29ycmVjdCgpfSAhaW1wb3J0YW50YCxcbiAgJyY6aG92ZXInOiB7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Y29sb3IudGV4dCgpfSBgLFxuICAgIGJvcmRlckNvbG9yOiAnaW5pdGlhbCcsXG4gIH0sXG4gICcmOmZvY3VzJzoge1xuICAgIGJvcmRlcjogYDFweCBzb2xpZCAke2NvbG9yLnRleHQoKX1gLFxuICAgIGJvcmRlckNvbG9yOiAnaW5pdGlhbCcsXG4gIH0sXG4gIC8vIHJlbW92ZSBkZWZhdWx0IHBhZGRpbmcgb24gdGhlIGlubmVyIGxpc3RcbiAgJyYgLk11aUxpc3Qtcm9vdCc6IHtcbiAgICBwYWRkaW5nOiAwLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRNZW51SXRlbSA9IHN0eWxlZChNZW51SXRlbSkoKCkgPT4gKHtcbiAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICcmLk11aS1mb2N1c2VkJzoge1xuICAgIG91dGxpbmU6IGAzcHggc29saWQgJHtjb2xvci50ZXJ0aWFyeSgpfWAsXG4gICAgb3V0bGluZU9mZnNldDogJy0xcHgnLCAvLyBrZWVwcyBpdCBpbnNpZGUgdGhlIGl0ZW1cbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICB9LFxuICAnJjpob3Zlcic6IHtcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuZHJvcGRvd25CYWNrZ3JvdW5kKCksXG4gIH0sXG4gIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICBwYWRkaW5nOiAnMjVweCcsXG4gIGJvcmRlclJhZGl1czogJzRweCcsXG4gICcmLnNlbGVjdGVkJzoge1xuICAgIGNvbG9yOiBgJHtjb2xvci50ZXh0KCl9ICFpbXBvcnRhbnRgLFxuICAgIGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3IuYmFja2dyb3VuZCgpfSAhaW1wb3J0YW50YCxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGAke2NvbG9yLmRyb3Bkb3duQmFja2dyb3VuZCgpfSAhaW1wb3J0YW50YCxcbiAgICB9LFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZCgnc3BhbicpKCgpID0+ICh7XG4gIGZvbnRTaXplOiAnbWF4KDFyZW0sIDE0cHgpJyxcbn0pKTtcblxuY29uc3QgU3R5bGVkU2VsZWN0ZWRJbmRpY2F0b3IgPSBzdHlsZWQoJ3NwYW4nKSgoKSA9PiAoe1xuICBmb250U2l6ZTogJ21heCgxcmVtLCAxNHB4KScsXG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICByaWdodDogJzEwcHgnLFxufSkpO1xuXG5jb25zdCBTdHlsZWRJbnB1dExhYmVsID0gc3R5bGVkKElucHV0TGFiZWwpKCgpID0+ICh7XG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICBsZWZ0OiAnLTEwMDAwcHgnLFxuICB0b3A6ICdhdXRvJyxcbiAgd2lkdGg6ICcxcHgnLFxuICBoZWlnaHQ6ICcxcHgnLFxuICBvdmVyZmxvdzogJ2hpZGRlbicsXG59KSk7XG5cbmNvbnN0IFN0eWxlZENvcnJlY3RuZXNzSWNvbiA9IHN0eWxlZChDaGVjaykoKCkgPT4gKHtcbiAgY29sb3I6IGAke2NvbG9yLndoaXRlKCl9ICFpbXBvcnRhbnRgLFxuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgdG9wOiAnLThweCAhaW1wb3J0YW50JyxcbiAgbGVmdDogJy04cHgnLFxuICBtYXJnaW5MZWZ0OiAnMCAhaW1wb3J0YW50JyxcbiAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgZm9udFNpemU6ICcxNnB4JyxcbiAgcGFkZGluZzogJzJweCcsXG4gICcmLmNvcnJlY3QnOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5jb3JyZWN0KCksXG4gIH0sXG4gICcmLmluY29ycmVjdCc6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmluY29ycmVjdFdpdGhJY29uKCksXG4gIH0sXG59KSk7XG5cbmNvbnN0IFN0eWxlZEluY29ycmVjdG5lc3NJY29uID0gc3R5bGVkKENsb3NlKSgoKSA9PiAoe1xuICBjb2xvcjogYCR7Y29sb3Iud2hpdGUoKX0gIWltcG9ydGFudGAsXG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB0b3A6ICctOHB4ICFpbXBvcnRhbnQnLFxuICBsZWZ0OiAnLThweCcsXG4gIG1hcmdpbkxlZnQ6ICcwICFpbXBvcnRhbnQnLFxuICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICBmb250U2l6ZTogJzE2cHgnLFxuICBwYWRkaW5nOiAnMnB4JyxcbiAgJyYuY29ycmVjdCc6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmNvcnJlY3QoKSxcbiAgfSxcbiAgJyYuaW5jb3JyZWN0Jzoge1xuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuaW5jb3JyZWN0V2l0aEljb24oKSxcbiAgfSxcbn0pKTtcblxuY2xhc3MgRHJvcGRvd24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY29ycmVjdDogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2hvaWNlczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnNoYXBlKHsgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nIH0pKSxcbiAgICBzaG93Q29ycmVjdEFuc3dlcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgc2luZ2xlUXVlcnk6IFByb3BUeXBlcy5ib29sLFxuICAgIGNvcnJlY3RWYWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBhbmNob3JFbDogbnVsbCxcbiAgICAgIGhpZ2hsaWdodGVkT3B0aW9uSWQ6IG51bGwsXG4gICAgICBtZW51V2lkdGg6IG51bGwsXG4gICAgICBwcmV2aWV3VmFsdWU6IG51bGwsXG4gICAgfTtcbiAgICB0aGlzLmhpZGRlblJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuICAgIHRoaXMuYnV0dG9uUmVmID0gUmVhY3QuY3JlYXRlUmVmKCk7XG4gICAgdGhpcy5wcmV2aWV3UmVmID0gUmVhY3QuY3JlYXRlUmVmKCk7XG4gICAgdGhpcy5lbGVtZW50UmVmcyA9IFtdO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gbWVhc3VyZSBoaWRkZW4gbWVudSB3aWR0aCBvbmNlXG4gICAgaWYgKHRoaXMuaGlkZGVuUmVmLmN1cnJlbnQgJiYgdGhpcy5zdGF0ZS5tZW51V2lkdGggPT09IG51bGwpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBtZW51V2lkdGg6IHRoaXMuaGlkZGVuUmVmLmN1cnJlbnQuY2xpZW50V2lkdGggfSk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XG4gICAgY29uc3QgaGlkZGVuRWwgPSB0aGlzLmhpZGRlblJlZi5jdXJyZW50O1xuXG4gICAgY29uc3QgZHJvcGRvd25KdXN0T3BlbmVkID0gIXByZXZTdGF0ZS5hbmNob3JFbCAmJiB0aGlzLnN0YXRlLmFuY2hvckVsO1xuICAgIGlmIChkcm9wZG93bkp1c3RPcGVuZWQpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZnMuZm9yRWFjaCgocmVmKSA9PiB7XG4gICAgICAgIGlmICghcmVmKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgY29udGFpbnNMYXRleCA9IHJlZi5xdWVyeVNlbGVjdG9yKCdbZGF0YS1sYXRleF0sIFtkYXRhLXJhd10nKTtcbiAgICAgICAgY29uc3QgaGFzTWF0aEpheCA9IHJlZi5xdWVyeVNlbGVjdG9yKCdtangtY29udGFpbmVyJyk7XG4gICAgICAgIGNvbnN0IG1hdGhIYW5kbGVkID0gcmVmLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1hdGgtaGFuZGxlZD1cInRydWVcIl0nKTtcblxuICAgICAgICBpZiAoY29udGFpbnNMYXRleCAmJiAoIW1hdGhIYW5kbGVkIHx8ICFoYXNNYXRoSmF4KSkge1xuICAgICAgICAgIHJlbmRlck1hdGgocmVmKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGhpZGRlbkVsKSB7XG4gICAgICBjb25zdCBuZXdXaWR0aCA9IGhpZGRlbkVsLmNsaWVudFdpZHRoO1xuICAgICAgaWYgKG5ld1dpZHRoICE9PSB0aGlzLnN0YXRlLm1lbnVXaWR0aCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWZzLmZvckVhY2goKHJlZikgPT4ge1xuICAgICAgICAgIGlmIChyZWYpIHJlbmRlck1hdGgocmVmKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmVuZGVyTWF0aChoaWRkZW5FbCk7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBtZW51V2lkdGg6IG5ld1dpZHRoIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNsaWNrID0gKGV2ZW50KSA9PiB0aGlzLnNldFN0YXRlKHsgYW5jaG9yRWw6IGV2ZW50LmN1cnJlbnRUYXJnZXQgfSk7XG5cbiAgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICB0aGlzLnNldFN0YXRlKHsgYW5jaG9yRWw6IG51bGwsIHByZXZpZXdWYWx1ZTogbnVsbCwgaGlnaGxpZ2h0ZWRPcHRpb25JZDogbnVsbCB9KTtcbiAgICAvLyBjbGVhciBkaXNwbGF5ZWQgcHJldmlldyBpZiBubyBzZWxlY3Rpb25cbiAgICBpZiAoIXZhbHVlICYmIHRoaXMucHJldmlld1JlZi5jdXJyZW50KSB7XG4gICAgICB0aGlzLnByZXZpZXdSZWYuY3VycmVudC5pbm5lckhUTUwgPSAnJztcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlSGlnaGxpZ2h0ID0gKGluZGV4KSA9PiB7XG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRPcHRpb25JZCA9IGBkcm9wZG93bi1vcHRpb24tJHt0aGlzLnByb3BzLmlkfS0ke2luZGV4fWA7XG5cbiAgICAvLyBwcmV2aWV3IG9uIGhvdmVyIGlmIG5vdGhpbmcgc2VsZWN0ZWRcbiAgICBjb25zdCBzdGF0ZVVwZGF0ZSA9IHsgaGlnaGxpZ2h0ZWRPcHRpb25JZCB9O1xuICAgIGlmICghdGhpcy5wcm9wcy52YWx1ZSkge1xuICAgICAgc3RhdGVVcGRhdGUucHJldmlld1ZhbHVlID0gdGhpcy5wcm9wcy5jaG9pY2VzW2luZGV4XS52YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZShzdGF0ZVVwZGF0ZSk7XG4gIH07XG5cbiAgaGFuZGxlU2VsZWN0ID0gKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UodGhpcy5wcm9wcy5pZCwgdmFsdWUpO1xuICAgIHRoaXMuaGFuZGxlSGlnaGxpZ2h0KGluZGV4KTtcbiAgICB0aGlzLmhhbmRsZUNsb3NlKCk7XG4gIH07XG5cbiAgaGFuZGxlSG92ZXIgPSAoaW5kZXgpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlID0gdGhpcy5wcm9wcy52YWx1ZTtcblxuICAgIGlmIChzZWxlY3RlZFZhbHVlKSByZXR1cm47XG5cbiAgICBjb25zdCBoaWdobGlnaHRlZE9wdGlvbklkID0gYGRyb3Bkb3duLW9wdGlvbi0ke3RoaXMucHJvcHMuaWR9LSR7aW5kZXh9YDtcbiAgICBjb25zdCBwcmV2aWV3VmFsdWUgPSB0aGlzLnN0YXRlLnByZXZpZXdWYWx1ZTtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBoaWdobGlnaHRlZE9wdGlvbklkLCBwcmV2aWV3VmFsdWUgfSwgKCkgPT4ge1xuICAgICAgLy8gT24gaG92ZXIsIHByZXZpZXcgdGhlIG1hdGgtcmVuZGVyZWQgY29udGVudCBpbnNpZGUgdGhlIGJ1dHRvbiBpZiBubyB2YWx1ZSBpcyBzZWxlY3RlZC5cbiAgICAgIGNvbnN0IHJlZiA9IHRoaXMuZWxlbWVudFJlZnNbaW5kZXhdO1xuICAgICAgY29uc3QgcHJldmlldyA9IHRoaXMucHJldmlld1JlZi5jdXJyZW50O1xuXG4gICAgICBpZiAocmVmICYmIHByZXZpZXcpIHtcbiAgICAgICAgcHJldmlldy5pbm5lckhUTUwgPSByZWYuaW5uZXJIVE1MO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGdldExhYmVsKGNob2ljZXMsIHZhbHVlKSB7XG4gICAgY29uc3QgZm91bmQgPSAoY2hvaWNlcyB8fCBbXSkuZmluZCgoY2hvaWNlKSA9PiBjaG9pY2UudmFsdWUgPT09IHZhbHVlKTtcblxuICAgIHJldHVybiBmb3VuZCA/IGZvdW5kLmxhYmVsLnRyaW0oKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGlkLCBjb3JyZWN0LCBkaXNhYmxlZCwgdmFsdWUsIGNob2ljZXMsIHNob3dDb3JyZWN0QW5zd2VyLCBzaW5nbGVRdWVyeSwgY29ycmVjdFZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgYW5jaG9yRWwgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3Qgb3BlbiA9IEJvb2xlYW4oYW5jaG9yRWwpO1xuICAgIGNvbnN0IGJ1dHRvbklkID0gYGRyb3Bkb3duLWJ1dHRvbi0ke2lkfWA7XG4gICAgY29uc3QgbWVudUlkID0gYGRyb3Bkb3duLW1lbnUtJHtpZH1gO1xuICAgIGNvbnN0IHZhbHVlRGlzcGxheUlkID0gYGRyb3Bkb3duLXZhbHVlLSR7aWR9YDtcblxuICAgIC8vIERldGVybWluZSB0aGUgY2xhc3MgZm9yIGRpc2FibGVkIHN0YXRlLCB2aWV3IG1vZGUgYW5kIGV2YWx1YXRlIG1vZGVcbiAgICBsZXQgZGlzYWJsZWRDbGFzcztcbiAgICAvLyBSZXNldCBlbGVtZW50UmVmcyBiZWZvcmUgZWFjaCByZW5kZXIgdG8gYXZvaWQgc3RhbGUgcmVmZXJlbmNlc1xuICAgIHRoaXMuZWxlbWVudFJlZnMgPSBbXTtcblxuICAgIGlmIChkaXNhYmxlZCAmJiBjb3JyZWN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRpc2FibGVkQ2xhc3MgPSBjb3JyZWN0IHx8IHNob3dDb3JyZWN0QW5zd2VyID8gJ2Rpc2FibGVkQ29ycmVjdCcgOiAnZGlzYWJsZWRJbmNvcnJlY3QnO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBkaXN0aW5jdCwgdmlzdWFsbHkgaGlkZGVuIGxhYmVscyBmb3IgZWFjaCBkcm9wZG93blxuICAgIGNvbnN0IGluY3JlbWVudGVkSWQgPSBwYXJzZUludChpZCwgMTApICsgMTtcbiAgICBjb25zdCBsYWJlbElkID0gc2luZ2xlUXVlcnkgPyAnUXVlcnktbGFiZWwnIDogYFF1ZXJ5LWxhYmVsLSR7aW5jcmVtZW50ZWRJZH1gO1xuICAgIGNvbnN0IGxhYmVsVGV4dCA9IHNpbmdsZVF1ZXJ5ID8gJ1F1ZXJ5JyA6IGBRdWVyeSAke2luY3JlbWVudGVkSWR9YDtcblxuICAgIC8vIENoYW5nZWQgZnJvbSBTZWxlY3QgdG8gQnV0dG9uIGZvciBkcm9wZG93biB0byBlbmhhbmNlIGFjY2Vzc2liaWxpdHkuIFRoaXMgbW9kaWZpY2F0aW9uIG9mZmVycyBleHBsaWNpdCBjb250cm9sIG92ZXIgYXJpYSBhdHRyaWJ1dGVzIGFuZCBmb2N1c2VzIG1hbmFnZW1lbnQsIGVuc3VyaW5nIHRoZSBkcm9wZG93biBpcyBjb21wbGlhbnQgd2l0aCBhY2Nlc3NpYmlsaXR5IHN0YW5kYXJkcy4gVGhlIHVzZSBvZiBCdXR0b24gYW5kIE1lbnUgY29tcG9uZW50cyBhbGxvd3MgZm9yIGJldHRlciBoYW5kbGluZyBvZiBrZXlib2FyZCBpbnRlcmFjdGlvbnMgYW5kIHByb3ZpZGVzIGFjY2Vzc2libGUgbGFiZWxzIGFuZCBtZW51cywgYWxpZ25pbmcgd2l0aCBXQ0FHIGd1aWRlbGluZXMgYW5kIGltcHJvdmluZyB1c2FiaWxpdHkgZm9yIGFzc2lzdGl2ZSB0ZWNobm9sb2d5IHVzZXJzLlxuICAgIGxldCBjb3JyZWN0bmVzc0ljb24gPSBudWxsO1xuICAgIGlmIChkaXNhYmxlZCAmJiBjb3JyZWN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvcnJlY3RuZXNzSWNvbiA9XG4gICAgICAgIGNvcnJlY3QgfHwgc2hvd0NvcnJlY3RBbnN3ZXIgPyAoXG4gICAgICAgICAgPFN0eWxlZENvcnJlY3RuZXNzSWNvbiBjbGFzc05hbWU9XCJjb3JyZWN0XCIgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8U3R5bGVkSW5jb3JyZWN0bmVzc0ljb24gY2xhc3NOYW1lPVwiaW5jb3JyZWN0XCIgLz5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHJlZj17dGhpcy5oaWRkZW5SZWZ9XG4gICAgICAgICAgc3R5bGU9e3sgcG9zaXRpb246ICdhYnNvbHV0ZScsIHZpc2liaWxpdHk6ICdoaWRkZW4nLCB0b3A6IDAsIGxlZnQ6IDAgfX1cbiAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHsoY2hvaWNlcyB8fCBbXSkubWFwKChjLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPFN0eWxlZE1lbnVJdGVtXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZExhYmVsIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogYy5sYWJlbCB9fSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxTdHlsZWRJbnB1dExhYmVsIGlkPXtsYWJlbElkfSB0YWJJbmRleD17LTF9IGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgIHtsYWJlbFRleHR9XG4gICAgICAgIDwvU3R5bGVkSW5wdXRMYWJlbD5cbiAgICAgICAgPFN0eWxlZEJ1dHRvblxuICAgICAgICAgIHJlZj17dGhpcy5idXR0b25SZWZ9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIC4uLih0aGlzLnN0YXRlLm1lbnVXaWR0aCAmJiB7IG1pbldpZHRoOiBgY2FsYygke3RoaXMuc3RhdGUubWVudVdpZHRofXB4ICsgOHB4KWAgfSksXG4gICAgICAgICAgICBib3JkZXJXaWR0aDogb3BlbiA/ICcycHgnIDogJzFweCcsXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAnYm9yZGVyLXdpZHRoIDAuMnMgZWFzZS1pbi1vdXQnLFxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1jb250cm9scz17b3BlbiA/IG1lbnVJZCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17b3BlbiA/ICd0cnVlJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQ9e3RoaXMuc3RhdGUuaGlnaGxpZ2h0ZWRPcHRpb25JZH1cbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZUNsaWNrfVxuICAgICAgICAgIGNsYXNzTmFtZT17ZGlzYWJsZWRDbGFzc31cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e2J1dHRvbklkfVxuICAgICAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICAgICAgYXJpYS1sYWJlbD17YFNlbGVjdCBhbiBvcHRpb24gZm9yICR7bGFiZWxUZXh0fWB9XG4gICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXt2YWx1ZURpc3BsYXlJZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjb3JyZWN0bmVzc0ljb259XG4gICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICBpZD17dmFsdWVEaXNwbGF5SWR9XG4gICAgICAgICAgICByZWY9e3RoaXMucHJldmlld1JlZn1cbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgIF9faHRtbDogY29ycmVjdFZhbHVlXG4gICAgICAgICAgICAgICAgPyBjb3JyZWN0VmFsdWVcbiAgICAgICAgICAgICAgICA6IG9wZW4gJiYgdGhpcy5zdGF0ZS5wcmV2aWV3VmFsdWVcbiAgICAgICAgICAgICAgICA/IHRoaXMuZ2V0TGFiZWwoY2hvaWNlcywgdGhpcy5zdGF0ZS5wcmV2aWV3VmFsdWUpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmdldExhYmVsKGNob2ljZXMsIHZhbHVlKSB8fCAnJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7b3BlbiA/IDxBcnJvd0Ryb3BVcEljb24gLz4gOiA8QXJyb3dEcm9wRG93bkljb24gLz59XG4gICAgICAgIDwvU3R5bGVkQnV0dG9uPlxuICAgICAgICA8U3R5bGVkTWVudVxuICAgICAgICAgIGlkPXttZW51SWR9XG4gICAgICAgICAgYW5jaG9yRWw9e2FuY2hvckVsfVxuICAgICAgICAgIGtlZXBNb3VudGVkXG4gICAgICAgICAgb3Blbj17b3Blbn1cbiAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhhbmRsZUNsb3NlfVxuICAgICAgICAgIGdldENvbnRlbnRBbmNob3JFbD17bnVsbH1cbiAgICAgICAgICBhbmNob3JPcmlnaW49e3sgdmVydGljYWw6ICdib3R0b20nLCBob3Jpem9udGFsOiAnbGVmdCcgfX1cbiAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW49e3sgdmVydGljYWw6ICd0b3AnLCBob3Jpem9udGFsOiAnbGVmdCcgfX1cbiAgICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb249e3sgZW50ZXI6IDIyNSwgZXhpdDogMTk1IH19XG4gICAgICAgICAgc2xvdFByb3BzPXt7XG4gICAgICAgICAgICBwYXBlcjogdGhpcy5zdGF0ZS5tZW51V2lkdGggPyB7IHN0eWxlOiB7IG1pbldpZHRoOiB0aGlzLnN0YXRlLm1lbnVXaWR0aCwgcGFkZGluZzogJzRweCcgfSB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgbGlzdDoge1xuICAgICAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogYnV0dG9uSWQsXG4gICAgICAgICAgICAgIHJvbGU6ICdsaXN0Ym94JyxcbiAgICAgICAgICAgICAgZGlzYWJsZVBhZGRpbmc6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7KGNob2ljZXMgfHwgW10pLm1hcCgoYywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbklkID0gYGRyb3Bkb3duLW9wdGlvbi0ke2lkfS0ke2luZGV4fWA7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICAgICAgICAgIGlkPXtvcHRpb25JZH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2MudmFsdWUgPT09IHZhbHVlID8gJ3NlbGVjdGVkJyA6ICcnfVxuICAgICAgICAgICAgICAgIGtleT17YCR7Yy5sYWJlbH0tJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtjLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRoaXMuaGFuZGxlU2VsZWN0KGMudmFsdWUsIGluZGV4KX1cbiAgICAgICAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXt0aGlzLnN0YXRlLmhpZ2hsaWdodGVkT3B0aW9uSWQgPT09IG9wdGlvbklkID8gJ3RydWUnIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiB0aGlzLmhhbmRsZUhvdmVyKGluZGV4KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRMYWJlbFxuICAgICAgICAgICAgICAgICAgcmVmPXsocmVmKSA9PiAodGhpcy5lbGVtZW50UmVmc1tpbmRleF0gPSByZWYpfVxuICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBjLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8U3R5bGVkU2VsZWN0ZWRJbmRpY2F0b3JcbiAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogYy52YWx1ZSA9PT0gdmFsdWUgPyAnICZjaGVjazsnIDogJycgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZE1lbnVJdGVtPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9TdHlsZWRNZW51PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBEcm9wZG93bjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxTQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxjQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxNQUFBLEdBQUFULHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUyxNQUFBLEdBQUFWLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBVSxPQUFBLEdBQUFWLE9BQUE7QUFFQSxJQUFBVyxTQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxjQUFBLEdBQUFaLE9BQUE7QUFBcUQsU0FBQWEsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQsQ0FBQSxRQUFBZSxnQkFBQSxhQUFBaEIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBRSxNQUFBLENBQUFjLHlCQUFBLEdBQUFkLE1BQUEsQ0FBQWUsZ0JBQUEsQ0FBQWxCLENBQUEsRUFBQUcsTUFBQSxDQUFBYyx5QkFBQSxDQUFBZixDQUFBLEtBQUFILE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLEdBQUFhLE9BQUEsV0FBQWQsQ0FBQSxJQUFBRSxNQUFBLENBQUFnQixjQUFBLENBQUFuQixDQUFBLEVBQUFDLENBQUEsRUFBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBTixDQUFBLEVBQUFELENBQUEsaUJBQUFELENBQUE7QUFBQSxTQUFBb0IsV0FBQWxCLENBQUEsRUFBQUksQ0FBQSxFQUFBTixDQUFBLFdBQUFNLENBQUEsT0FBQWUsZ0JBQUEsYUFBQWYsQ0FBQSxPQUFBZ0IsMkJBQUEsYUFBQXBCLENBQUEsRUFBQXFCLHlCQUFBLEtBQUFDLE9BQUEsQ0FBQUMsU0FBQSxDQUFBbkIsQ0FBQSxFQUFBTixDQUFBLFlBQUFxQixnQkFBQSxhQUFBbkIsQ0FBQSxFQUFBd0IsV0FBQSxJQUFBcEIsQ0FBQSxDQUFBSyxLQUFBLENBQUFULENBQUEsRUFBQUYsQ0FBQTtBQUFBLFNBQUF1QiwwQkFBQSxjQUFBckIsQ0FBQSxJQUFBeUIsT0FBQSxDQUFBQyxTQUFBLENBQUFDLE9BQUEsQ0FBQUMsSUFBQSxDQUFBTixPQUFBLENBQUFDLFNBQUEsQ0FBQUUsT0FBQSxpQ0FBQXpCLENBQUEsYUFBQXFCLHlCQUFBLFlBQUFBLDBCQUFBLGFBQUFyQixDQUFBO0FBRXJELElBQU02QixZQUFZLEdBQUcsSUFBQUMsY0FBTSxFQUFDQyxrQkFBTSxDQUFDLENBQUM7RUFBQSxPQUFPO0lBQ3pDQyxLQUFLLEVBQUVBLGVBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUM7SUFDbkJDLE1BQU0sZUFBQUMsTUFBQSxDQUFlSCxlQUFLLENBQUNJLFVBQVUsQ0FBQyxDQUFDLENBQUU7SUFDekNDLFlBQVksRUFBRSxLQUFLO0lBQ25CQyxjQUFjLEVBQUUsZUFBZTtJQUMvQkMsZUFBZSxFQUFFUCxlQUFLLENBQUNRLFVBQVUsQ0FBQyxDQUFDO0lBQ25DQyxRQUFRLEVBQUUsVUFBVTtJQUNwQkMsTUFBTSxFQUFFLE1BQU07SUFDZEMsS0FBSyxFQUFFLGFBQWE7SUFDcEJDLE1BQU0sRUFBRSxLQUFLO0lBQ2JDLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLFFBQVEsRUFBRTtNQUNSQyxZQUFZLEVBQUU7SUFDaEIsQ0FBQztJQUNELE9BQU8sRUFBRTtNQUNQTCxRQUFRLEVBQUUsVUFBVTtNQUNwQk0sS0FBSyxFQUFFLENBQUM7TUFDUkMsR0FBRyxFQUFFLGtCQUFrQjtNQUN2QkMsYUFBYSxFQUFFLE1BQU07TUFDckJqQixLQUFLLEVBQUVBLGVBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUM7TUFDbkJpQixVQUFVLEVBQUU7SUFDZCxDQUFDO0lBQ0QsZUFBZSxFQUFFO01BQ2ZDLE9BQU8sZUFBQWhCLE1BQUEsQ0FBZUgsZUFBSyxDQUFDb0IsUUFBUSxDQUFDLENBQUMsQ0FBRTtNQUN4Q0MsYUFBYSxFQUFFLEtBQUs7TUFDcEJDLFdBQVcsRUFBRTtJQUNmLENBQUM7SUFDRCxtQkFBbUIsRUFBRTtNQUNuQkEsV0FBVyxFQUFFLEtBQUs7TUFDbEJDLFdBQVcsRUFBRXZCLGVBQUssQ0FBQ3dCLE9BQU8sQ0FBQyxDQUFDO01BQzVCeEIsS0FBSyxLQUFBRyxNQUFBLENBQUtILGVBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUNELHFCQUFxQixFQUFFO01BQ3JCcUIsV0FBVyxFQUFFLEtBQUs7TUFDbEJDLFdBQVcsRUFBRXZCLGVBQUssQ0FBQ3lCLGlCQUFpQixDQUFDLENBQUM7TUFDdEN6QixLQUFLLEtBQUFHLE1BQUEsQ0FBS0gsZUFBSyxDQUFDQyxJQUFJLENBQUMsQ0FBQztJQUN4QjtFQUNGLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSCxJQUFNeUIsVUFBVSxHQUFHLElBQUE1QixjQUFNLEVBQUM2QixnQkFBSSxDQUFDLENBQUM7RUFBQSxPQUFPO0lBQ3JDcEIsZUFBZSxFQUFFUCxlQUFLLENBQUNRLFVBQVUsQ0FBQyxDQUFDO0lBQ25DTixNQUFNLGVBQUFDLE1BQUEsQ0FBZUgsZUFBSyxDQUFDd0IsT0FBTyxDQUFDLENBQUMsZ0JBQWE7SUFDakQsU0FBUyxFQUFFO01BQ1R0QixNQUFNLGVBQUFDLE1BQUEsQ0FBZUgsZUFBSyxDQUFDQyxJQUFJLENBQUMsQ0FBQyxNQUFHO01BQ3BDc0IsV0FBVyxFQUFFO0lBQ2YsQ0FBQztJQUNELFNBQVMsRUFBRTtNQUNUckIsTUFBTSxlQUFBQyxNQUFBLENBQWVILGVBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBRTtNQUNuQ3NCLFdBQVcsRUFBRTtJQUNmLENBQUM7SUFDRDtJQUNBLGlCQUFpQixFQUFFO01BQ2pCSyxPQUFPLEVBQUU7SUFDWDtFQUNGLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSCxJQUFNQyxjQUFjLEdBQUcsSUFBQS9CLGNBQU0sRUFBQ2dDLG9CQUFRLENBQUMsQ0FBQztFQUFBLE9BQU87SUFDN0M5QixLQUFLLEVBQUVBLGVBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUM7SUFDbkJNLGVBQWUsRUFBRVAsZUFBSyxDQUFDUSxVQUFVLENBQUMsQ0FBQztJQUNuQyxlQUFlLEVBQUU7TUFDZlcsT0FBTyxlQUFBaEIsTUFBQSxDQUFlSCxlQUFLLENBQUNvQixRQUFRLENBQUMsQ0FBQyxDQUFFO01BQ3hDQyxhQUFhLEVBQUUsTUFBTTtNQUFFO01BQ3ZCckIsS0FBSyxFQUFFQSxlQUFLLENBQUNDLElBQUksQ0FBQyxDQUFDO01BQ25CTSxlQUFlLEVBQUVQLGVBQUssQ0FBQ1EsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxTQUFTLEVBQUU7TUFDVFIsS0FBSyxFQUFFQSxlQUFLLENBQUNDLElBQUksQ0FBQyxDQUFDO01BQ25CTSxlQUFlLEVBQUVQLGVBQUssQ0FBQytCLGtCQUFrQixDQUFDO0lBQzVDLENBQUM7SUFDREMsU0FBUyxFQUFFLFlBQVk7SUFDdkJKLE9BQU8sRUFBRSxNQUFNO0lBQ2Z2QixZQUFZLEVBQUUsS0FBSztJQUNuQixZQUFZLEVBQUU7TUFDWkwsS0FBSyxLQUFBRyxNQUFBLENBQUtILGVBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUMsZ0JBQWE7TUFDbkNNLGVBQWUsS0FBQUosTUFBQSxDQUFLSCxlQUFLLENBQUNRLFVBQVUsQ0FBQyxDQUFDLGdCQUFhO01BQ25ELFNBQVMsRUFBRTtRQUNUUixLQUFLLEVBQUVBLGVBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUM7UUFDbkJNLGVBQWUsS0FBQUosTUFBQSxDQUFLSCxlQUFLLENBQUMrQixrQkFBa0IsQ0FBQyxDQUFDO01BQ2hEO0lBQ0Y7RUFDRixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUgsSUFBTUUsV0FBVyxHQUFHLElBQUFuQyxjQUFNLEVBQUMsTUFBTSxDQUFDLENBQUM7RUFBQSxPQUFPO0lBQ3hDb0MsUUFBUSxFQUFFO0VBQ1osQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVILElBQU1DLHVCQUF1QixHQUFHLElBQUFyQyxjQUFNLEVBQUMsTUFBTSxDQUFDLENBQUM7RUFBQSxPQUFPO0lBQ3BEb0MsUUFBUSxFQUFFLGlCQUFpQjtJQUMzQnpCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCTSxLQUFLLEVBQUU7RUFDVCxDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUgsSUFBTXFCLGdCQUFnQixHQUFHLElBQUF0QyxjQUFNLEVBQUN1QyxzQkFBVSxDQUFDLENBQUM7RUFBQSxPQUFPO0lBQ2pENUIsUUFBUSxFQUFFLFVBQVU7SUFDcEI2QixJQUFJLEVBQUUsVUFBVTtJQUNoQnRCLEdBQUcsRUFBRSxNQUFNO0lBQ1hMLEtBQUssRUFBRSxLQUFLO0lBQ1pELE1BQU0sRUFBRSxLQUFLO0lBQ2I2QixRQUFRLEVBQUU7RUFDWixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUgsSUFBTUMscUJBQXFCLEdBQUcsSUFBQTFDLGNBQU0sRUFBQzJDLGlCQUFLLENBQUMsQ0FBQztFQUFBLE9BQU87SUFDakR6QyxLQUFLLEtBQUFHLE1BQUEsQ0FBS0gsZUFBSyxDQUFDMEMsS0FBSyxDQUFDLENBQUMsZ0JBQWE7SUFDcENqQyxRQUFRLEVBQUUsVUFBVTtJQUNwQk8sR0FBRyxFQUFFLGlCQUFpQjtJQUN0QnNCLElBQUksRUFBRSxNQUFNO0lBQ1pwQixVQUFVLEVBQUUsY0FBYztJQUMxQmIsWUFBWSxFQUFFLEtBQUs7SUFDbkI2QixRQUFRLEVBQUUsTUFBTTtJQUNoQk4sT0FBTyxFQUFFLEtBQUs7SUFDZCxXQUFXLEVBQUU7TUFDWHJCLGVBQWUsRUFBRVAsZUFBSyxDQUFDd0IsT0FBTyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxhQUFhLEVBQUU7TUFDYmpCLGVBQWUsRUFBRVAsZUFBSyxDQUFDeUIsaUJBQWlCLENBQUM7SUFDM0M7RUFDRixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUgsSUFBTWtCLHVCQUF1QixHQUFHLElBQUE3QyxjQUFNLEVBQUM4QyxpQkFBSyxDQUFDLENBQUM7RUFBQSxPQUFPO0lBQ25ENUMsS0FBSyxLQUFBRyxNQUFBLENBQUtILGVBQUssQ0FBQzBDLEtBQUssQ0FBQyxDQUFDLGdCQUFhO0lBQ3BDakMsUUFBUSxFQUFFLFVBQVU7SUFDcEJPLEdBQUcsRUFBRSxpQkFBaUI7SUFDdEJzQixJQUFJLEVBQUUsTUFBTTtJQUNacEIsVUFBVSxFQUFFLGNBQWM7SUFDMUJiLFlBQVksRUFBRSxLQUFLO0lBQ25CNkIsUUFBUSxFQUFFLE1BQU07SUFDaEJOLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFO01BQ1hyQixlQUFlLEVBQUVQLGVBQUssQ0FBQ3dCLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBQ0QsYUFBYSxFQUFFO01BQ2JqQixlQUFlLEVBQUVQLGVBQUssQ0FBQ3lCLGlCQUFpQixDQUFDO0lBQzNDO0VBQ0YsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUFDLElBRUVvQixRQUFRLDBCQUFBQyxnQkFBQTtFQWFaLFNBQUFELFNBQVlFLEtBQUssRUFBRTtJQUFBLElBQUFDLEtBQUE7SUFBQSxJQUFBQyxnQkFBQSxtQkFBQUosUUFBQTtJQUNqQkcsS0FBQSxHQUFBOUQsVUFBQSxPQUFBMkQsUUFBQSxHQUFNRSxLQUFLO0lBQUUsSUFBQWpFLGdCQUFBLGFBQUFrRSxLQUFBLGlCQW9ERCxVQUFDRSxLQUFLO01BQUEsT0FBS0YsS0FBQSxDQUFLRyxRQUFRLENBQUM7UUFBRUMsUUFBUSxFQUFFRixLQUFLLENBQUNHO01BQWMsQ0FBQyxDQUFDO0lBQUE7SUFBQSxJQUFBdkUsZ0JBQUEsYUFBQWtFLEtBQUEsaUJBRTNELFlBQU07TUFDbEIsSUFBUU0sS0FBSyxHQUFLTixLQUFBLENBQUtELEtBQUssQ0FBcEJPLEtBQUs7TUFDYk4sS0FBQSxDQUFLRyxRQUFRLENBQUM7UUFBRUMsUUFBUSxFQUFFLElBQUk7UUFBRUcsWUFBWSxFQUFFLElBQUk7UUFBRUMsbUJBQW1CLEVBQUU7TUFBSyxDQUFDLENBQUM7TUFDaEY7TUFDQSxJQUFJLENBQUNGLEtBQUssSUFBSU4sS0FBQSxDQUFLUyxVQUFVLENBQUNDLE9BQU8sRUFBRTtRQUNyQ1YsS0FBQSxDQUFLUyxVQUFVLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxHQUFHLEVBQUU7TUFDeEM7SUFDRixDQUFDO0lBQUEsSUFBQTdFLGdCQUFBLGFBQUFrRSxLQUFBLHFCQUVpQixVQUFDWSxLQUFLLEVBQUs7TUFDM0IsSUFBTUosbUJBQW1CLHNCQUFBckQsTUFBQSxDQUFzQjZDLEtBQUEsQ0FBS0QsS0FBSyxDQUFDYyxFQUFFLE9BQUExRCxNQUFBLENBQUl5RCxLQUFLLENBQUU7O01BRXZFO01BQ0EsSUFBTUUsV0FBVyxHQUFHO1FBQUVOLG1CQUFtQixFQUFuQkE7TUFBb0IsQ0FBQztNQUMzQyxJQUFJLENBQUNSLEtBQUEsQ0FBS0QsS0FBSyxDQUFDTyxLQUFLLEVBQUU7UUFDckJRLFdBQVcsQ0FBQ1AsWUFBWSxHQUFHUCxLQUFBLENBQUtELEtBQUssQ0FBQ2dCLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDLENBQUNOLEtBQUs7TUFDNUQ7TUFDQU4sS0FBQSxDQUFLRyxRQUFRLENBQUNXLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBQUEsSUFBQWhGLGdCQUFBLGFBQUFrRSxLQUFBLGtCQUVjLFVBQUNNLEtBQUssRUFBRU0sS0FBSyxFQUFLO01BQy9CWixLQUFBLENBQUtELEtBQUssQ0FBQ2lCLFFBQVEsQ0FBQ2hCLEtBQUEsQ0FBS0QsS0FBSyxDQUFDYyxFQUFFLEVBQUVQLEtBQUssQ0FBQztNQUN6Q04sS0FBQSxDQUFLaUIsZUFBZSxDQUFDTCxLQUFLLENBQUM7TUFDM0JaLEtBQUEsQ0FBS2tCLFdBQVcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFBQSxJQUFBcEYsZ0JBQUEsYUFBQWtFLEtBQUEsaUJBRWEsVUFBQ1ksS0FBSyxFQUFLO01BQ3ZCLElBQU1PLGFBQWEsR0FBR25CLEtBQUEsQ0FBS0QsS0FBSyxDQUFDTyxLQUFLO01BRXRDLElBQUlhLGFBQWEsRUFBRTtNQUVuQixJQUFNWCxtQkFBbUIsc0JBQUFyRCxNQUFBLENBQXNCNkMsS0FBQSxDQUFLRCxLQUFLLENBQUNjLEVBQUUsT0FBQTFELE1BQUEsQ0FBSXlELEtBQUssQ0FBRTtNQUN2RSxJQUFNTCxZQUFZLEdBQUdQLEtBQUEsQ0FBS29CLEtBQUssQ0FBQ2IsWUFBWTtNQUU1Q1AsS0FBQSxDQUFLRyxRQUFRLENBQUM7UUFBRUssbUJBQW1CLEVBQW5CQSxtQkFBbUI7UUFBRUQsWUFBWSxFQUFaQTtNQUFhLENBQUMsRUFBRSxZQUFNO1FBQ3pEO1FBQ0EsSUFBTWMsR0FBRyxHQUFHckIsS0FBQSxDQUFLc0IsV0FBVyxDQUFDVixLQUFLLENBQUM7UUFDbkMsSUFBTVcsT0FBTyxHQUFHdkIsS0FBQSxDQUFLUyxVQUFVLENBQUNDLE9BQU87UUFFdkMsSUFBSVcsR0FBRyxJQUFJRSxPQUFPLEVBQUU7VUFDbEJBLE9BQU8sQ0FBQ1osU0FBUyxHQUFHVSxHQUFHLENBQUNWLFNBQVM7UUFDbkM7TUFDRixDQUFDLENBQUM7SUFDSixDQUFDO0lBL0ZDWCxLQUFBLENBQUtvQixLQUFLLEdBQUc7TUFDWGhCLFFBQVEsRUFBRSxJQUFJO01BQ2RJLG1CQUFtQixFQUFFLElBQUk7TUFDekJnQixTQUFTLEVBQUUsSUFBSTtNQUNmakIsWUFBWSxFQUFFO0lBQ2hCLENBQUM7SUFDRFAsS0FBQSxDQUFLeUIsU0FBUyxnQkFBR0MsaUJBQUssQ0FBQ0MsU0FBUyxDQUFDLENBQUM7SUFDbEMzQixLQUFBLENBQUs0QixTQUFTLGdCQUFHRixpQkFBSyxDQUFDQyxTQUFTLENBQUMsQ0FBQztJQUNsQzNCLEtBQUEsQ0FBS1MsVUFBVSxnQkFBR2lCLGlCQUFLLENBQUNDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DM0IsS0FBQSxDQUFLc0IsV0FBVyxHQUFHLEVBQUU7SUFBQyxPQUFBdEIsS0FBQTtFQUN4QjtFQUFDLElBQUE2QixVQUFBLGFBQUFoQyxRQUFBLEVBQUFDLGdCQUFBO0VBQUEsV0FBQWdDLGFBQUEsYUFBQWpDLFFBQUE7SUFBQWtDLEdBQUE7SUFBQXpCLEtBQUEsRUFFRCxTQUFBMEIsaUJBQWlCQSxDQUFBLEVBQUc7TUFDbEI7TUFDQSxJQUFJLElBQUksQ0FBQ1AsU0FBUyxDQUFDZixPQUFPLElBQUksSUFBSSxDQUFDVSxLQUFLLENBQUNJLFNBQVMsS0FBSyxJQUFJLEVBQUU7UUFDM0QsSUFBSSxDQUFDckIsUUFBUSxDQUFDO1VBQUVxQixTQUFTLEVBQUUsSUFBSSxDQUFDQyxTQUFTLENBQUNmLE9BQU8sQ0FBQ3VCO1FBQVksQ0FBQyxDQUFDO01BQ2xFO0lBQ0Y7RUFBQztJQUFBRixHQUFBO0lBQUF6QixLQUFBLEVBRUQsU0FBQTRCLGtCQUFrQkEsQ0FBQ0MsU0FBUyxFQUFFQyxTQUFTLEVBQUU7TUFDdkMsSUFBTUMsUUFBUSxHQUFHLElBQUksQ0FBQ1osU0FBUyxDQUFDZixPQUFPO01BRXZDLElBQU00QixrQkFBa0IsR0FBRyxDQUFDRixTQUFTLENBQUNoQyxRQUFRLElBQUksSUFBSSxDQUFDZ0IsS0FBSyxDQUFDaEIsUUFBUTtNQUNyRSxJQUFJa0Msa0JBQWtCLEVBQUU7UUFDdEIsSUFBSSxDQUFDaEIsV0FBVyxDQUFDekYsT0FBTyxDQUFDLFVBQUN3RixHQUFHLEVBQUs7VUFDaEMsSUFBSSxDQUFDQSxHQUFHLEVBQUU7VUFFVixJQUFNa0IsYUFBYSxHQUFHbEIsR0FBRyxDQUFDbUIsYUFBYSxDQUFDLDBCQUEwQixDQUFDO1VBQ25FLElBQU1DLFVBQVUsR0FBR3BCLEdBQUcsQ0FBQ21CLGFBQWEsQ0FBQyxlQUFlLENBQUM7VUFDckQsSUFBTUUsV0FBVyxHQUFHckIsR0FBRyxDQUFDbUIsYUFBYSxDQUFDLDRCQUE0QixDQUFDO1VBRW5FLElBQUlELGFBQWEsS0FBSyxDQUFDRyxXQUFXLElBQUksQ0FBQ0QsVUFBVSxDQUFDLEVBQUU7WUFDbEQsSUFBQUUseUJBQVUsRUFBQ3RCLEdBQUcsQ0FBQztVQUNqQjtRQUNGLENBQUMsQ0FBQztNQUNKO01BRUEsSUFBSWdCLFFBQVEsRUFBRTtRQUNaLElBQU1PLFFBQVEsR0FBR1AsUUFBUSxDQUFDSixXQUFXO1FBQ3JDLElBQUlXLFFBQVEsS0FBSyxJQUFJLENBQUN4QixLQUFLLENBQUNJLFNBQVMsRUFBRTtVQUNyQyxJQUFJLENBQUNGLFdBQVcsQ0FBQ3pGLE9BQU8sQ0FBQyxVQUFDd0YsR0FBRyxFQUFLO1lBQ2hDLElBQUlBLEdBQUcsRUFBRSxJQUFBc0IseUJBQVUsRUFBQ3RCLEdBQUcsQ0FBQztVQUMxQixDQUFDLENBQUM7VUFFRixJQUFBc0IseUJBQVUsRUFBQ04sUUFBUSxDQUFDO1VBQ3BCLElBQUksQ0FBQ2xDLFFBQVEsQ0FBQztZQUFFcUIsU0FBUyxFQUFFb0I7VUFBUyxDQUFDLENBQUM7UUFDeEM7TUFDRjtJQUNGO0VBQUM7SUFBQWIsR0FBQTtJQUFBekIsS0FBQSxFQWlERCxTQUFBdUMsUUFBUUEsQ0FBQzlCLE9BQU8sRUFBRVQsS0FBSyxFQUFFO01BQ3ZCLElBQU13QyxLQUFLLEdBQUcsQ0FBQy9CLE9BQU8sSUFBSSxFQUFFLEVBQUVnQyxJQUFJLENBQUMsVUFBQ0MsTUFBTTtRQUFBLE9BQUtBLE1BQU0sQ0FBQzFDLEtBQUssS0FBS0EsS0FBSztNQUFBLEVBQUM7TUFFdEUsT0FBT3dDLEtBQUssR0FBR0EsS0FBSyxDQUFDRyxLQUFLLENBQUNDLElBQUksQ0FBQyxDQUFDLEdBQUdDLFNBQVM7SUFDL0M7RUFBQztJQUFBcEIsR0FBQTtJQUFBekIsS0FBQSxFQUVELFNBQUE4QyxNQUFNQSxDQUFBLEVBQUc7TUFBQSxJQUFBQyxNQUFBO01BQ1AsSUFBQUMsV0FBQSxHQUFnRyxJQUFJLENBQUN2RCxLQUFLO1FBQWxHYyxFQUFFLEdBQUF5QyxXQUFBLENBQUZ6QyxFQUFFO1FBQUVyQyxPQUFPLEdBQUE4RSxXQUFBLENBQVA5RSxPQUFPO1FBQUUrRSxRQUFRLEdBQUFELFdBQUEsQ0FBUkMsUUFBUTtRQUFFakQsS0FBSyxHQUFBZ0QsV0FBQSxDQUFMaEQsS0FBSztRQUFFUyxPQUFPLEdBQUF1QyxXQUFBLENBQVB2QyxPQUFPO1FBQUV5QyxpQkFBaUIsR0FBQUYsV0FBQSxDQUFqQkUsaUJBQWlCO1FBQUVDLFdBQVcsR0FBQUgsV0FBQSxDQUFYRyxXQUFXO1FBQUVDLFlBQVksR0FBQUosV0FBQSxDQUFaSSxZQUFZO01BQzNGLElBQVF0RCxRQUFRLEdBQUssSUFBSSxDQUFDZ0IsS0FBSyxDQUF2QmhCLFFBQVE7TUFDaEIsSUFBTXVELElBQUksR0FBR2xILE9BQU8sQ0FBQzJELFFBQVEsQ0FBQztNQUM5QixJQUFNd0QsUUFBUSxzQkFBQXpHLE1BQUEsQ0FBc0IwRCxFQUFFLENBQUU7TUFDeEMsSUFBTWdELE1BQU0sb0JBQUExRyxNQUFBLENBQW9CMEQsRUFBRSxDQUFFO01BQ3BDLElBQU1pRCxjQUFjLHFCQUFBM0csTUFBQSxDQUFxQjBELEVBQUUsQ0FBRTs7TUFFN0M7TUFDQSxJQUFJa0QsYUFBYTtNQUNqQjtNQUNBLElBQUksQ0FBQ3pDLFdBQVcsR0FBRyxFQUFFO01BRXJCLElBQUlpQyxRQUFRLElBQUkvRSxPQUFPLEtBQUsyRSxTQUFTLEVBQUU7UUFDckNZLGFBQWEsR0FBR3ZGLE9BQU8sSUFBSWdGLGlCQUFpQixHQUFHLGlCQUFpQixHQUFHLG1CQUFtQjtNQUN4Rjs7TUFFQTtNQUNBLElBQU1RLGFBQWEsR0FBR0MsUUFBUSxDQUFDcEQsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUM7TUFDMUMsSUFBTXFELE9BQU8sR0FBR1QsV0FBVyxHQUFHLGFBQWEsa0JBQUF0RyxNQUFBLENBQWtCNkcsYUFBYSxDQUFFO01BQzVFLElBQU1HLFNBQVMsR0FBR1YsV0FBVyxHQUFHLE9BQU8sWUFBQXRHLE1BQUEsQ0FBWTZHLGFBQWEsQ0FBRTs7TUFFbEU7TUFDQSxJQUFJSSxlQUFlLEdBQUcsSUFBSTtNQUMxQixJQUFJYixRQUFRLElBQUkvRSxPQUFPLEtBQUsyRSxTQUFTLEVBQUU7UUFDckNpQixlQUFlLEdBQ2I1RixPQUFPLElBQUlnRixpQkFBaUIsZ0JBQzFCMUosTUFBQSxZQUFBdUssYUFBQSxDQUFDN0UscUJBQXFCO1VBQUM4RSxTQUFTLEVBQUM7UUFBUyxDQUFFLENBQUMsZ0JBRTdDeEssTUFBQSxZQUFBdUssYUFBQSxDQUFDMUUsdUJBQXVCO1VBQUMyRSxTQUFTLEVBQUM7UUFBVyxDQUFFLENBQ2pEO01BQ0w7TUFFQSxvQkFDRXhLLE1BQUEsWUFBQXVLLGFBQUEsQ0FBQXZLLE1BQUEsWUFBQXlLLFFBQUEscUJBQ0V6SyxNQUFBLFlBQUF1SyxhQUFBO1FBQ0VoRCxHQUFHLEVBQUUsSUFBSSxDQUFDSSxTQUFVO1FBQ3BCK0MsS0FBSyxFQUFFO1VBQUUvRyxRQUFRLEVBQUUsVUFBVTtVQUFFZ0gsVUFBVSxFQUFFLFFBQVE7VUFBRXpHLEdBQUcsRUFBRSxDQUFDO1VBQUVzQixJQUFJLEVBQUU7UUFBRSxDQUFFO1FBQ3ZFb0YsUUFBUSxFQUFFLENBQUMsQ0FBRTtRQUNiLGVBQVk7TUFBTSxHQUVqQixDQUFDM0QsT0FBTyxJQUFJLEVBQUUsRUFBRTRELEdBQUcsQ0FBQyxVQUFDQyxDQUFDLEVBQUVoRSxLQUFLO1FBQUEsb0JBQzVCOUcsTUFBQSxZQUFBdUssYUFBQSxDQUFDeEYsY0FBYztVQUNia0QsR0FBRyxFQUFFbkIsS0FBTTtVQUNYOEQsUUFBUSxFQUFFLENBQUMsQ0FBRTtVQUNiLGVBQVk7UUFBTSxnQkFFbEI1SyxNQUFBLFlBQUF1SyxhQUFBLENBQUNwRixXQUFXO1VBQUM0Rix1QkFBdUIsRUFBRTtZQUFFQyxNQUFNLEVBQUVGLENBQUMsQ0FBQzNCO1VBQU07UUFBRSxDQUFFLENBQzlDLENBQUM7TUFBQSxDQUNsQixDQUNFLENBQUMsZUFDTm5KLE1BQUEsWUFBQXVLLGFBQUEsQ0FBQ2pGLGdCQUFnQjtRQUFDeUIsRUFBRSxFQUFFcUQsT0FBUTtRQUFDUSxRQUFRLEVBQUUsQ0FBQyxDQUFFO1FBQUMsZUFBWTtNQUFNLEdBQzVEUCxTQUNlLENBQUMsZUFDbkJySyxNQUFBLFlBQUF1SyxhQUFBLENBQUN4SCxZQUFZO1FBQ1h3RSxHQUFHLEVBQUUsSUFBSSxDQUFDTyxTQUFVO1FBQ3BCNEMsS0FBSyxFQUFBOUksYUFBQSxDQUFBQSxhQUFBLEtBQ0MsSUFBSSxDQUFDMEYsS0FBSyxDQUFDSSxTQUFTLElBQUk7VUFBRXVELFFBQVEsVUFBQTVILE1BQUEsQ0FBVSxJQUFJLENBQUNpRSxLQUFLLENBQUNJLFNBQVM7UUFBWSxDQUFDO1VBQ2pGbEQsV0FBVyxFQUFFcUYsSUFBSSxHQUFHLEtBQUssR0FBRyxLQUFLO1VBQ2pDcUIsVUFBVSxFQUFFO1FBQStCLEVBQzNDO1FBQ0YsaUJBQWVyQixJQUFJLEdBQUdFLE1BQU0sR0FBR1YsU0FBVTtRQUN6QyxpQkFBYyxTQUFTO1FBQ3ZCLGlCQUFlUSxJQUFJLEdBQUcsTUFBTSxHQUFHUixTQUFVO1FBQ3pDLHlCQUF1QixJQUFJLENBQUMvQixLQUFLLENBQUNaLG1CQUFvQjtRQUN0RHlFLE9BQU8sRUFBRSxJQUFJLENBQUNDLFdBQVk7UUFDMUJaLFNBQVMsRUFBRVAsYUFBYztRQUN6QlIsUUFBUSxFQUFFQSxRQUFTO1FBQ25CMUMsRUFBRSxFQUFFK0MsUUFBUztRQUNidUIsSUFBSSxFQUFDLFVBQVU7UUFDZixzQ0FBQWhJLE1BQUEsQ0FBb0NnSCxTQUFTLENBQUc7UUFDaEQsbUJBQWlCTDtNQUFlLEdBRS9CTSxlQUFlLGVBQ2hCdEssTUFBQSxZQUFBdUssYUFBQSxDQUFDcEYsV0FBVztRQUNWNEIsRUFBRSxFQUFFaUQsY0FBZTtRQUNuQnpDLEdBQUcsRUFBRSxJQUFJLENBQUNaLFVBQVc7UUFDckJvRSx1QkFBdUIsRUFBRTtVQUN2QkMsTUFBTSxFQUFFcEIsWUFBWSxHQUNoQkEsWUFBWSxHQUNaQyxJQUFJLElBQUksSUFBSSxDQUFDdkMsS0FBSyxDQUFDYixZQUFZLEdBQy9CLElBQUksQ0FBQ3NDLFFBQVEsQ0FBQzlCLE9BQU8sRUFBRSxJQUFJLENBQUNLLEtBQUssQ0FBQ2IsWUFBWSxDQUFDLEdBQy9DLElBQUksQ0FBQ3NDLFFBQVEsQ0FBQzlCLE9BQU8sRUFBRVQsS0FBSyxDQUFDLElBQUk7UUFDdkM7TUFBRSxDQUNILENBQUMsRUFDRHFELElBQUksZ0JBQUc3SixNQUFBLFlBQUF1SyxhQUFBLENBQUM5SixZQUFBLFdBQWUsTUFBRSxDQUFDLGdCQUFHVCxNQUFBLFlBQUF1SyxhQUFBLENBQUMvSixjQUFBLFdBQWlCLE1BQUUsQ0FDdEMsQ0FBQyxlQUNmUixNQUFBLFlBQUF1SyxhQUFBLENBQUMzRixVQUFVO1FBQ1RtQyxFQUFFLEVBQUVnRCxNQUFPO1FBQ1h6RCxRQUFRLEVBQUVBLFFBQVM7UUFDbkJnRixXQUFXO1FBQ1h6QixJQUFJLEVBQUVBLElBQUs7UUFDWDBCLE9BQU8sRUFBRSxJQUFJLENBQUNuRSxXQUFZO1FBQzFCb0Usa0JBQWtCLEVBQUUsSUFBSztRQUN6QkMsWUFBWSxFQUFFO1VBQUVDLFFBQVEsRUFBRSxRQUFRO1VBQUVDLFVBQVUsRUFBRTtRQUFPLENBQUU7UUFDekRDLGVBQWUsRUFBRTtVQUFFRixRQUFRLEVBQUUsS0FBSztVQUFFQyxVQUFVLEVBQUU7UUFBTyxDQUFFO1FBQ3pERSxrQkFBa0IsRUFBRTtVQUFFQyxLQUFLLEVBQUUsR0FBRztVQUFFQyxJQUFJLEVBQUU7UUFBSSxDQUFFO1FBQzlDQyxTQUFTLEVBQUU7VUFDVEMsS0FBSyxFQUFFLElBQUksQ0FBQzNFLEtBQUssQ0FBQ0ksU0FBUyxHQUFHO1lBQUVnRCxLQUFLLEVBQUU7Y0FBRU8sUUFBUSxFQUFFLElBQUksQ0FBQzNELEtBQUssQ0FBQ0ksU0FBUztjQUFFNUMsT0FBTyxFQUFFO1lBQU07VUFBRSxDQUFDLEdBQUd1RSxTQUFTO1VBQ3ZHNkMsSUFBSSxFQUFFO1lBQ0osaUJBQWlCLEVBQUVwQyxRQUFRO1lBQzNCdUIsSUFBSSxFQUFFLFNBQVM7WUFDZmMsY0FBYyxFQUFFO1VBQ2xCO1FBQ0Y7TUFBRSxHQUVELENBQUNsRixPQUFPLElBQUksRUFBRSxFQUFFNEQsR0FBRyxDQUFDLFVBQUNDLENBQUMsRUFBRWhFLEtBQUssRUFBSztRQUNqQyxJQUFNc0YsUUFBUSxzQkFBQS9JLE1BQUEsQ0FBc0IwRCxFQUFFLE9BQUExRCxNQUFBLENBQUl5RCxLQUFLLENBQUU7UUFFakQsb0JBQ0U5RyxNQUFBLFlBQUF1SyxhQUFBLENBQUN4RixjQUFjO1VBQ2JnQyxFQUFFLEVBQUVxRixRQUFTO1VBQ2I1QixTQUFTLEVBQUVNLENBQUMsQ0FBQ3RFLEtBQUssS0FBS0EsS0FBSyxHQUFHLFVBQVUsR0FBRyxFQUFHO1VBQy9DeUIsR0FBRyxLQUFBNUUsTUFBQSxDQUFLeUgsQ0FBQyxDQUFDM0IsS0FBSyxPQUFBOUYsTUFBQSxDQUFJeUQsS0FBSyxDQUFHO1VBQzNCTixLQUFLLEVBQUVzRSxDQUFDLENBQUN0RSxLQUFNO1VBQ2YyRSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtZQUFBLE9BQVE1QixNQUFJLENBQUM4QyxZQUFZLENBQUN2QixDQUFDLENBQUN0RSxLQUFLLEVBQUVNLEtBQUssQ0FBQztVQUFBLENBQUM7VUFDakR1RSxJQUFJLEVBQUMsUUFBUTtVQUNiLGlCQUFlOUIsTUFBSSxDQUFDakMsS0FBSyxDQUFDWixtQkFBbUIsS0FBSzBGLFFBQVEsR0FBRyxNQUFNLEdBQUcvQyxTQUFVO1VBQ2hGaUQsV0FBVyxFQUFFLFNBQWJBLFdBQVdBLENBQUE7WUFBQSxPQUFRL0MsTUFBSSxDQUFDZ0QsV0FBVyxDQUFDekYsS0FBSyxDQUFDO1VBQUE7UUFBQyxnQkFFM0M5RyxNQUFBLFlBQUF1SyxhQUFBLENBQUNwRixXQUFXO1VBQ1ZvQyxHQUFHLEVBQUUsU0FBTEEsR0FBR0EsQ0FBR0EsSUFBRztZQUFBLE9BQU1nQyxNQUFJLENBQUMvQixXQUFXLENBQUNWLEtBQUssQ0FBQyxHQUFHUyxJQUFHO1VBQUEsQ0FBRTtVQUM5Q3dELHVCQUF1QixFQUFFO1lBQUVDLE1BQU0sRUFBRUYsQ0FBQyxDQUFDM0I7VUFBTTtRQUFFLENBQzlDLENBQUMsZUFDRm5KLE1BQUEsWUFBQXVLLGFBQUEsQ0FBQ2xGLHVCQUF1QjtVQUN0QjBGLHVCQUF1QixFQUFFO1lBQUVDLE1BQU0sRUFBRUYsQ0FBQyxDQUFDdEUsS0FBSyxLQUFLQSxLQUFLLEdBQUcsVUFBVSxHQUFHO1VBQUc7UUFBRSxDQUMxRSxDQUNhLENBQUM7TUFFckIsQ0FBQyxDQUNTLENBQ1osQ0FBQztJQUVQO0VBQUM7QUFBQSxFQTVQb0JvQixpQkFBSyxDQUFDNEUsU0FBUztBQUFBLElBQUF4SyxnQkFBQSxhQUFoQytELFFBQVEsZUFDTztFQUNqQmdCLEVBQUUsRUFBRTBGLHFCQUFTLENBQUNDLE1BQU07RUFDcEJsRyxLQUFLLEVBQUVpRyxxQkFBUyxDQUFDQyxNQUFNO0VBQ3ZCakQsUUFBUSxFQUFFZ0QscUJBQVMsQ0FBQ0UsSUFBSTtFQUN4QnpGLFFBQVEsRUFBRXVGLHFCQUFTLENBQUNHLElBQUk7RUFDeEJsSSxPQUFPLEVBQUUrSCxxQkFBUyxDQUFDRSxJQUFJO0VBQ3ZCMUYsT0FBTyxFQUFFd0YscUJBQVMsQ0FBQ0ksT0FBTyxDQUFDSixxQkFBUyxDQUFDSyxLQUFLLENBQUM7SUFBRXRHLEtBQUssRUFBRWlHLHFCQUFTLENBQUNDLE1BQU07SUFBRXZELEtBQUssRUFBRXNELHFCQUFTLENBQUNDO0VBQU8sQ0FBQyxDQUFDLENBQUM7RUFDakdoRCxpQkFBaUIsRUFBRStDLHFCQUFTLENBQUNFLElBQUk7RUFDakNoRCxXQUFXLEVBQUU4QyxxQkFBUyxDQUFDRSxJQUFJO0VBQzNCL0MsWUFBWSxFQUFFNkMscUJBQVMsQ0FBQ0M7QUFDMUIsQ0FBQztBQUFBLElBQUFLLFFBQUEsR0FBQUMsT0FBQSxjQW9QWWpILFFBQVEiLCJpZ25vcmVMaXN0IjpbXX0=
468
+ //# sourceMappingURL=dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","names":["_react","_interopRequireDefault","require","_propTypes","_Button","_InputLabel","_Menu","_MenuItem","_ArrowDropDown","_ArrowDropUp","_Close","_Check","_styles","_renderUi","_mathRendering","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","StyledButton","styled","Button","color","text","border","concat","borderGray","borderRadius","justifyContent","backgroundColor","background","position","height","width","margin","textTransform","paddingRight","right","top","pointerEvents","marginLeft","outline","tertiary","outlineOffset","borderWidth","borderColor","correct","incorrectWithIcon","StyledMenu","Menu","padding","StyledMenuItem","MenuItem","dropdownBackground","boxSizing","StyledLabel","fontSize","StyledSelectedIndicator","StyledInputLabel","InputLabel","left","overflow","StyledCorrectnessIcon","Check","white","StyledIncorrectnessIcon","Close","Dropdown","_React$Component","props","_this","_classCallCheck2","event","setState","anchorEl","currentTarget","value","previewValue","highlightedOptionId","previewRef","current","innerHTML","index","id","stateUpdate","choices","onChange","handleHighlight","handleClose","selectedValue","state","ref","elementRefs","preview","menuWidth","hiddenRef","React","createRef","buttonRef","_inherits2","_createClass2","key","componentDidMount","clientWidth","componentDidUpdate","prevProps","prevState","hiddenEl","dropdownJustOpened","containsLatex","querySelector","hasMathJax","mathHandled","renderMath","newWidth","getLabel","found","find","choice","label","trim","undefined","render","_this2","_this$props","disabled","showCorrectAnswer","singleQuery","correctValue","open","buttonId","menuId","valueDisplayId","disabledClass","incrementedId","parseInt","labelId","labelText","correctnessIcon","createElement","className","Fragment","style","visibility","tabIndex","map","c","dangerouslySetInnerHTML","__html","minWidth","transition","onClick","handleClick","role","keepMounted","onClose","getContentAnchorEl","anchorOrigin","vertical","horizontal","transformOrigin","transitionDuration","enter","exit","slotProps","paper","list","disablePadding","optionId","handleSelect","onMouseOver","handleHover","Component","PropTypes","string","bool","func","arrayOf","shape","_default","exports"],"sources":["../../src/components/dropdown.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@mui/material/Button';\nimport InputLabel from '@mui/material/InputLabel';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport ArrowDropUpIcon from '@mui/icons-material/ArrowDropUp';\nimport Close from '@mui/icons-material/Close';\nimport Check from '@mui/icons-material/Check';\nimport { styled } from '@mui/material/styles';\n\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst StyledButton = styled(Button)(() => ({\n color: color.text(),\n border: `1px solid ${color.borderGray()}`,\n borderRadius: '4px',\n justifyContent: 'space-between',\n backgroundColor: color.background(),\n position: 'relative',\n height: '45px',\n width: 'fit-content',\n margin: '2px',\n textTransform: 'none',\n '& span': {\n paddingRight: '5px',\n },\n '& svg': {\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 12px)',\n pointerEvents: 'none',\n color: color.text(),\n marginLeft: '5px',\n },\n '&.Mui-focused': {\n outline: `3px solid ${color.tertiary()}`,\n outlineOffset: '2px',\n borderWidth: '3px',\n },\n '&.disabledCorrect': {\n borderWidth: '2px',\n borderColor: color.correct(),\n color: `${color.text()} !important`,\n },\n '&.disabledIncorrect': {\n borderWidth: '2px',\n borderColor: color.incorrectWithIcon(),\n color: `${color.text()} !important`,\n },\n}));\n\nconst StyledMenu = styled(Menu)(() => ({\n backgroundColor: color.background(),\n border: `1px solid ${color.correct()} !important`,\n '&:hover': {\n border: `1px solid ${color.text()} `,\n borderColor: 'initial',\n },\n '&:focus': {\n border: `1px solid ${color.text()}`,\n borderColor: 'initial',\n },\n // remove default padding on the inner list\n '& .MuiList-root': {\n padding: 0,\n },\n}));\n\nconst StyledMenuItem = styled(MenuItem)(() => ({\n color: color.text(),\n backgroundColor: color.background(),\n '&.Mui-focused': {\n outline: `3px solid ${color.tertiary()}`,\n outlineOffset: '-1px', // keeps it inside the item\n color: color.text(),\n backgroundColor: color.background(),\n },\n '&:hover': {\n color: color.text(),\n backgroundColor: color.dropdownBackground(),\n },\n boxSizing: 'border-box',\n padding: '25px',\n borderRadius: '4px',\n '&.selected': {\n color: `${color.text()} !important`,\n backgroundColor: `${color.background()} !important`,\n '&:hover': {\n color: color.text(),\n backgroundColor: `${color.dropdownBackground()} !important`,\n },\n },\n}));\n\nconst StyledLabel = styled('span')(() => ({\n fontSize: 'max(1rem, 14px)',\n}));\n\nconst StyledSelectedIndicator = styled('span')(() => ({\n fontSize: 'max(1rem, 14px)',\n position: 'absolute',\n right: '10px',\n}));\n\nconst StyledInputLabel = styled(InputLabel)(() => ({\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n}));\n\nconst StyledCorrectnessIcon = styled(Check)(() => ({\n color: `${color.white()} !important`,\n position: 'absolute',\n top: '-8px !important',\n left: '-8px',\n marginLeft: '0 !important',\n borderRadius: '50%',\n fontSize: '16px',\n padding: '2px',\n '&.correct': {\n backgroundColor: color.correct(),\n },\n '&.incorrect': {\n backgroundColor: color.incorrectWithIcon(),\n },\n}));\n\nconst StyledIncorrectnessIcon = styled(Close)(() => ({\n color: `${color.white()} !important`,\n position: 'absolute',\n top: '-8px !important',\n left: '-8px',\n marginLeft: '0 !important',\n borderRadius: '50%',\n fontSize: '16px',\n padding: '2px',\n '&.correct': {\n backgroundColor: color.correct(),\n },\n '&.incorrect': {\n backgroundColor: color.incorrectWithIcon(),\n },\n}));\n\nclass Dropdown extends React.Component {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n correct: PropTypes.bool,\n choices: PropTypes.arrayOf(PropTypes.shape({ value: PropTypes.string, label: PropTypes.string })),\n showCorrectAnswer: PropTypes.bool,\n singleQuery: PropTypes.bool,\n correctValue: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n anchorEl: null,\n highlightedOptionId: null,\n menuWidth: null,\n previewValue: null,\n };\n this.hiddenRef = React.createRef();\n this.buttonRef = React.createRef();\n this.previewRef = React.createRef();\n this.elementRefs = [];\n }\n\n componentDidMount() {\n // measure hidden menu width once\n if (this.hiddenRef.current && this.state.menuWidth === null) {\n this.setState({ menuWidth: this.hiddenRef.current.clientWidth });\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const hiddenEl = this.hiddenRef.current;\n\n const dropdownJustOpened = !prevState.anchorEl && this.state.anchorEl;\n if (dropdownJustOpened) {\n this.elementRefs.forEach((ref) => {\n if (!ref) return;\n\n const containsLatex = ref.querySelector('[data-latex], [data-raw]');\n const hasMathJax = ref.querySelector('mjx-container');\n const mathHandled = ref.querySelector('[data-math-handled=\"true\"]');\n\n if (containsLatex && (!mathHandled || !hasMathJax)) {\n renderMath(ref);\n }\n });\n }\n\n if (hiddenEl) {\n const newWidth = hiddenEl.clientWidth;\n if (newWidth !== this.state.menuWidth) {\n this.elementRefs.forEach((ref) => {\n if (ref) renderMath(ref);\n });\n\n renderMath(hiddenEl);\n this.setState({ menuWidth: newWidth });\n }\n }\n }\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n handleClose = () => {\n const { value } = this.props;\n this.setState({ anchorEl: null, previewValue: null, highlightedOptionId: null });\n // clear displayed preview if no selection\n if (!value && this.previewRef.current) {\n this.previewRef.current.innerHTML = '';\n }\n };\n\n handleHighlight = (index) => {\n const highlightedOptionId = `dropdown-option-${this.props.id}-${index}`;\n\n // preview on hover if nothing selected\n const stateUpdate = { highlightedOptionId };\n if (!this.props.value) {\n stateUpdate.previewValue = this.props.choices[index].value;\n }\n this.setState(stateUpdate);\n };\n\n handleSelect = (value, index) => {\n this.props.onChange(this.props.id, value);\n this.handleHighlight(index);\n this.handleClose();\n };\n\n handleHover = (index) => {\n const selectedValue = this.props.value;\n\n if (selectedValue) return;\n\n const highlightedOptionId = `dropdown-option-${this.props.id}-${index}`;\n const previewValue = this.state.previewValue;\n\n this.setState({ highlightedOptionId, previewValue }, () => {\n // On hover, preview the math-rendered content inside the button if no value is selected.\n const ref = this.elementRefs[index];\n const preview = this.previewRef.current;\n\n if (ref && preview) {\n preview.innerHTML = ref.innerHTML;\n }\n });\n };\n\n getLabel(choices, value) {\n const found = (choices || []).find((choice) => choice.value === value);\n\n return found ? found.label.trim() : undefined;\n }\n\n render() {\n const { id, correct, disabled, value, choices, showCorrectAnswer, singleQuery, correctValue } = this.props;\n const { anchorEl } = this.state;\n const open = Boolean(anchorEl);\n const buttonId = `dropdown-button-${id}`;\n const menuId = `dropdown-menu-${id}`;\n const valueDisplayId = `dropdown-value-${id}`;\n\n // Determine the class for disabled state, view mode and evaluate mode\n let disabledClass;\n // Reset elementRefs before each render to avoid stale references\n this.elementRefs = [];\n\n if (disabled && correct !== undefined) {\n disabledClass = correct || showCorrectAnswer ? 'disabledCorrect' : 'disabledIncorrect';\n }\n\n // Create distinct, visually hidden labels for each dropdown\n const incrementedId = parseInt(id, 10) + 1;\n const labelId = singleQuery ? 'Query-label' : `Query-label-${incrementedId}`;\n const labelText = singleQuery ? 'Query' : `Query ${incrementedId}`;\n\n // Changed from Select to Button for dropdown to enhance accessibility. This modification offers explicit control over aria attributes and focuses management, ensuring the dropdown is compliant with accessibility standards. The use of Button and Menu components allows for better handling of keyboard interactions and provides accessible labels and menus, aligning with WCAG guidelines and improving usability for assistive technology users.\n let correctnessIcon = null;\n if (disabled && correct !== undefined) {\n correctnessIcon =\n correct || showCorrectAnswer ? (\n <StyledCorrectnessIcon className=\"correct\" />\n ) : (\n <StyledIncorrectnessIcon className=\"incorrect\" />\n );\n }\n\n return (\n <>\n <div\n ref={this.hiddenRef}\n style={{ position: 'absolute', visibility: 'hidden', top: 0, left: 0 }}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n {(choices || []).map((c, index) => (\n <StyledMenuItem\n key={index}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n <StyledLabel dangerouslySetInnerHTML={{ __html: c.label }} />\n </StyledMenuItem>\n ))}\n </div>\n <StyledInputLabel id={labelId} tabIndex={-1} aria-hidden=\"true\">\n {labelText}\n </StyledInputLabel>\n <StyledButton\n ref={this.buttonRef}\n style={{\n ...(this.state.menuWidth && { minWidth: `calc(${this.state.menuWidth}px + 8px)` }),\n borderWidth: open ? '2px' : '1px',\n transition: 'border-width 0.2s ease-in-out',\n }}\n aria-controls={open ? menuId : undefined}\n aria-haspopup=\"listbox\"\n aria-expanded={open ? 'true' : undefined}\n aria-activedescendant={this.state.highlightedOptionId}\n onClick={this.handleClick}\n className={disabledClass}\n disabled={disabled}\n id={buttonId}\n role=\"combobox\"\n aria-label={`Select an option for ${labelText}`}\n aria-labelledby={valueDisplayId}\n >\n {correctnessIcon}\n <StyledLabel\n id={valueDisplayId}\n ref={this.previewRef}\n dangerouslySetInnerHTML={{\n __html: correctValue\n ? correctValue\n : open && this.state.previewValue\n ? this.getLabel(choices, this.state.previewValue)\n : this.getLabel(choices, value) || '',\n }}\n />\n {open ? <ArrowDropUpIcon /> : <ArrowDropDownIcon />}\n </StyledButton>\n <StyledMenu\n id={menuId}\n anchorEl={anchorEl}\n keepMounted\n open={open}\n onClose={this.handleClose}\n getContentAnchorEl={null}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n transitionDuration={{ enter: 225, exit: 195 }}\n slotProps={{\n paper: this.state.menuWidth ? { style: { minWidth: this.state.menuWidth, padding: '4px' } } : undefined,\n list: {\n 'aria-labelledby': buttonId,\n role: 'listbox',\n disablePadding: true,\n },\n }}\n >\n {(choices || []).map((c, index) => {\n const optionId = `dropdown-option-${id}-${index}`;\n\n return (\n <StyledMenuItem\n id={optionId}\n className={c.value === value ? 'selected' : ''}\n key={`${c.label}-${index}`}\n value={c.value}\n onClick={() => this.handleSelect(c.value, index)}\n role=\"option\"\n aria-selected={this.state.highlightedOptionId === optionId ? 'true' : undefined}\n onMouseOver={() => this.handleHover(index)}\n >\n <StyledLabel\n ref={(ref) => (this.elementRefs[index] = ref)}\n dangerouslySetInnerHTML={{ __html: c.label }}\n />\n <StyledSelectedIndicator\n dangerouslySetInnerHTML={{ __html: c.value === value ? ' &check;' : '' }}\n />\n </StyledMenuItem>\n );\n })}\n </StyledMenu>\n </>\n );\n }\n}\n\nexport default Dropdown;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"dropdown.js","names":["_react","_interopRequireDefault","require","_propTypes","_Button","_InputLabel","_Menu","_MenuItem","_ArrowDropDown","_ArrowDropUp","_Close","_Check","_styles","_renderUi","_mathRendering","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","StyledButton","styled","Button","color","text","border","concat","borderGray","borderRadius","justifyContent","backgroundColor","background","position","height","width","margin","textTransform","paddingRight","right","top","pointerEvents","marginLeft","outline","tertiary","outlineOffset","borderWidth","borderColor","correct","incorrectWithIcon","StyledMenu","Menu","padding","StyledMenuItem","MenuItem","overflow","fontSize","fontWeight","fontFamily","lineHeight","whiteSpace","dropdownBackground","boxSizing","StyledLabel","StyledSelectedIndicator","StyledInputLabel","InputLabel","left","StyledCorrectnessIcon","Check","white","StyledIncorrectnessIcon","Close","Dropdown","_React$Component","props","_this","_classCallCheck2","event","setState","anchorEl","currentTarget","value","previewValue","highlightedOptionId","previewRef","current","innerHTML","index","id","stateUpdate","choices","onChange","handleHighlight","handleClose","selectedValue","state","ref","elementRefs","preview","menuWidth","hiddenRef","React","createRef","buttonRef","_inherits2","_createClass2","key","componentDidMount","clientWidth","componentDidUpdate","prevProps","prevState","hiddenEl","dropdownJustOpened","containsLatex","querySelector","hasMathJax","mathHandled","renderMath","newWidth","getLabel","found","find","choice","label","trim","undefined","render","_this2","_this$props","disabled","showCorrectAnswer","singleQuery","correctValue","open","buttonId","menuId","valueDisplayId","disabledClass","incrementedId","parseInt","labelId","labelText","correctnessIcon","createElement","className","Fragment","style","visibility","tabIndex","map","c","dangerouslySetInnerHTML","__html","minWidth","transition","onClick","handleClick","role","keepMounted","onClose","getContentAnchorEl","anchorOrigin","vertical","horizontal","transformOrigin","transitionDuration","enter","exit","slotProps","paper","list","disablePadding","optionId","handleSelect","onMouseOver","handleHover","Component","PropTypes","string","bool","func","arrayOf","shape","_default","exports"],"sources":["../../src/components/dropdown.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@mui/material/Button';\nimport InputLabel from '@mui/material/InputLabel';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport ArrowDropUpIcon from '@mui/icons-material/ArrowDropUp';\nimport Close from '@mui/icons-material/Close';\nimport Check from '@mui/icons-material/Check';\nimport { styled } from '@mui/material/styles';\n\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst StyledButton = styled(Button)(() => ({\n color: color.text(),\n border: `1px solid ${color.borderGray()}`,\n borderRadius: '4px',\n justifyContent: 'space-between',\n backgroundColor: color.background(),\n position: 'relative',\n height: '45px',\n width: 'fit-content',\n margin: '2px',\n textTransform: 'none',\n '& span': {\n paddingRight: '5px',\n },\n '& svg': {\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 12px)',\n pointerEvents: 'none',\n color: color.text(),\n marginLeft: '5px',\n },\n '&.Mui-focused': {\n outline: `3px solid ${color.tertiary()}`,\n outlineOffset: '2px',\n borderWidth: '3px',\n },\n '&.disabledCorrect': {\n borderWidth: '2px',\n borderColor: color.correct(),\n color: `${color.text()} !important`,\n },\n '&.disabledIncorrect': {\n borderWidth: '2px',\n borderColor: color.incorrectWithIcon(),\n color: `${color.text()} !important`,\n },\n}));\n\nconst StyledMenu = styled(Menu)(() => ({\n backgroundColor: color.background(),\n border: `1px solid ${color.correct()} !important`,\n '&:hover': {\n border: `1px solid ${color.text()} `,\n borderColor: 'initial',\n },\n '&:focus': {\n border: `1px solid ${color.text()}`,\n borderColor: 'initial',\n },\n // remove default padding on the inner list\n '& .MuiList-root': {\n padding: 0,\n },\n}));\n\nconst StyledMenuItem = styled(MenuItem)(() => ({\n // base text/layout styles (from old JSS - before mui v5 migration)\n height: 24,\n overflow: 'hidden',\n fontSize: '1rem',\n fontWeight: 400,\n fontFamily: 'inherit',\n lineHeight: '1.5em',\n whiteSpace: 'nowrap',\n\n // custom styles\n color: color.text(),\n backgroundColor: color.background(),\n '&.Mui-focusVisible': {\n outline: `3px solid ${color.tertiary()}`,\n outlineOffset: '-1px', // keeps it inside the item\n color: color.text(),\n backgroundColor: color.background(),\n },\n '&:hover': {\n color: color.text(),\n backgroundColor: color.dropdownBackground(),\n },\n boxSizing: 'border-box',\n padding: '25px',\n borderRadius: '4px',\n '&.selected': {\n color: `${color.text()} !important`,\n backgroundColor: `${color.background()} !important`,\n '&:hover': {\n color: color.text(),\n backgroundColor: `${color.dropdownBackground()} !important`,\n },\n },\n}));\n\nconst StyledLabel = styled('span')(() => ({\n fontSize: 'max(1rem, 14px)',\n}));\n\nconst StyledSelectedIndicator = styled('span')(() => ({\n fontSize: 'max(1rem, 14px)',\n position: 'absolute',\n right: '10px',\n}));\n\nconst StyledInputLabel = styled(InputLabel)(() => ({\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n}));\n\nconst StyledCorrectnessIcon = styled(Check)(() => ({\n color: `${color.white()} !important`,\n position: 'absolute',\n top: '-8px !important',\n left: '-8px',\n marginLeft: '0 !important',\n borderRadius: '50%',\n fontSize: '16px',\n padding: '2px',\n '&.correct': {\n backgroundColor: color.correct(),\n },\n '&.incorrect': {\n backgroundColor: color.incorrectWithIcon(),\n },\n}));\n\nconst StyledIncorrectnessIcon = styled(Close)(() => ({\n color: `${color.white()} !important`,\n position: 'absolute',\n top: '-8px !important',\n left: '-8px',\n marginLeft: '0 !important',\n borderRadius: '50%',\n fontSize: '16px',\n padding: '2px',\n '&.correct': {\n backgroundColor: color.correct(),\n },\n '&.incorrect': {\n backgroundColor: color.incorrectWithIcon(),\n },\n}));\n\nclass Dropdown extends React.Component {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n correct: PropTypes.bool,\n choices: PropTypes.arrayOf(PropTypes.shape({ value: PropTypes.string, label: PropTypes.string })),\n showCorrectAnswer: PropTypes.bool,\n singleQuery: PropTypes.bool,\n correctValue: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n anchorEl: null,\n highlightedOptionId: null,\n menuWidth: null,\n previewValue: null,\n };\n this.hiddenRef = React.createRef();\n this.buttonRef = React.createRef();\n this.previewRef = React.createRef();\n this.elementRefs = [];\n }\n\n componentDidMount() {\n // measure hidden menu width once\n if (this.hiddenRef.current && this.state.menuWidth === null) {\n this.setState({ menuWidth: this.hiddenRef.current.clientWidth });\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const hiddenEl = this.hiddenRef.current;\n\n const dropdownJustOpened = !prevState.anchorEl && this.state.anchorEl;\n if (dropdownJustOpened) {\n this.elementRefs.forEach((ref) => {\n if (!ref) return;\n\n const containsLatex = ref.querySelector('[data-latex], [data-raw]');\n const hasMathJax = ref.querySelector('mjx-container');\n const mathHandled = ref.querySelector('[data-math-handled=\"true\"]');\n\n if (containsLatex && (!mathHandled || !hasMathJax)) {\n renderMath(ref);\n }\n });\n }\n\n if (hiddenEl) {\n const newWidth = hiddenEl.clientWidth;\n if (newWidth !== this.state.menuWidth) {\n this.elementRefs.forEach((ref) => {\n if (ref) renderMath(ref);\n });\n\n renderMath(hiddenEl);\n this.setState({ menuWidth: newWidth });\n }\n }\n }\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n handleClose = () => {\n const { value } = this.props;\n this.setState({ anchorEl: null, previewValue: null, highlightedOptionId: null });\n // clear displayed preview if no selection\n if (!value && this.previewRef.current) {\n this.previewRef.current.innerHTML = '';\n }\n };\n\n handleHighlight = (index) => {\n const highlightedOptionId = `dropdown-option-${this.props.id}-${index}`;\n\n // preview on hover if nothing selected\n const stateUpdate = { highlightedOptionId };\n if (!this.props.value) {\n stateUpdate.previewValue = this.props.choices[index].value;\n }\n this.setState(stateUpdate);\n };\n\n handleSelect = (value, index) => {\n this.props.onChange(this.props.id, value);\n this.handleHighlight(index);\n this.handleClose();\n };\n\n handleHover = (index) => {\n const selectedValue = this.props.value;\n\n if (selectedValue) return;\n\n const highlightedOptionId = `dropdown-option-${this.props.id}-${index}`;\n const previewValue = this.state.previewValue;\n\n this.setState({ highlightedOptionId, previewValue }, () => {\n // On hover, preview the math-rendered content inside the button if no value is selected.\n const ref = this.elementRefs[index];\n const preview = this.previewRef.current;\n\n if (ref && preview) {\n preview.innerHTML = ref.innerHTML;\n }\n });\n };\n\n getLabel(choices, value) {\n const found = (choices || []).find((choice) => choice.value === value);\n\n return found ? found.label.trim() : undefined;\n }\n\n render() {\n const { id, correct, disabled, value, choices, showCorrectAnswer, singleQuery, correctValue } = this.props;\n const { anchorEl } = this.state;\n const open = Boolean(anchorEl);\n const buttonId = `dropdown-button-${id}`;\n const menuId = `dropdown-menu-${id}`;\n const valueDisplayId = `dropdown-value-${id}`;\n\n // Determine the class for disabled state, view mode and evaluate mode\n let disabledClass;\n // Reset elementRefs before each render to avoid stale references\n this.elementRefs = [];\n\n if (disabled && correct !== undefined) {\n disabledClass = correct || showCorrectAnswer ? 'disabledCorrect' : 'disabledIncorrect';\n }\n\n // Create distinct, visually hidden labels for each dropdown\n const incrementedId = parseInt(id, 10) + 1;\n const labelId = singleQuery ? 'Query-label' : `Query-label-${incrementedId}`;\n const labelText = singleQuery ? 'Query' : `Query ${incrementedId}`;\n\n // Changed from Select to Button for dropdown to enhance accessibility. This modification offers explicit control over aria attributes and focuses management, ensuring the dropdown is compliant with accessibility standards. The use of Button and Menu components allows for better handling of keyboard interactions and provides accessible labels and menus, aligning with WCAG guidelines and improving usability for assistive technology users.\n let correctnessIcon = null;\n if (disabled && correct !== undefined) {\n correctnessIcon =\n correct || showCorrectAnswer ? (\n <StyledCorrectnessIcon className=\"correct\" />\n ) : (\n <StyledIncorrectnessIcon className=\"incorrect\" />\n );\n }\n\n return (\n <>\n <div\n ref={this.hiddenRef}\n style={{ position: 'absolute', visibility: 'hidden', top: 0, left: 0 }}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n {(choices || []).map((c, index) => (\n <StyledMenuItem key={index} tabIndex={-1} aria-hidden=\"true\">\n <StyledLabel dangerouslySetInnerHTML={{ __html: c.label }} />\n </StyledMenuItem>\n ))}\n </div>\n <StyledInputLabel id={labelId} tabIndex={-1} aria-hidden=\"true\">\n {labelText}\n </StyledInputLabel>\n <StyledButton\n ref={this.buttonRef}\n style={{\n ...(this.state.menuWidth && { minWidth: `calc(${this.state.menuWidth}px + 8px)` }),\n borderWidth: open ? '2px' : '1px',\n transition: 'border-width 0.2s ease-in-out',\n }}\n aria-controls={open ? menuId : undefined}\n aria-haspopup=\"listbox\"\n aria-expanded={open ? 'true' : undefined}\n aria-activedescendant={this.state.highlightedOptionId}\n onClick={this.handleClick}\n className={disabledClass}\n disabled={disabled}\n id={buttonId}\n role=\"combobox\"\n aria-label={`Select an option for ${labelText}`}\n aria-labelledby={valueDisplayId}\n >\n {correctnessIcon}\n <StyledLabel\n id={valueDisplayId}\n ref={this.previewRef}\n dangerouslySetInnerHTML={{\n __html: correctValue\n ? correctValue\n : open && this.state.previewValue\n ? this.getLabel(choices, this.state.previewValue)\n : this.getLabel(choices, value) || '',\n }}\n />\n {open ? <ArrowDropUpIcon /> : <ArrowDropDownIcon />}\n </StyledButton>\n <StyledMenu\n id={menuId}\n anchorEl={anchorEl}\n keepMounted\n open={open}\n onClose={this.handleClose}\n getContentAnchorEl={null}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n transitionDuration={{ enter: 225, exit: 195 }}\n slotProps={{\n paper: this.state.menuWidth ? { style: { minWidth: this.state.menuWidth, padding: '4px' } } : undefined,\n list: {\n 'aria-labelledby': buttonId,\n role: 'listbox',\n disablePadding: true,\n },\n }}\n >\n {(choices || []).map((c, index) => {\n const optionId = `dropdown-option-${id}-${index}`;\n\n return (\n <StyledMenuItem\n id={optionId}\n className={c.value === value ? 'selected' : ''}\n key={`${c.label}-${index}`}\n value={c.value}\n onClick={() => this.handleSelect(c.value, index)}\n role=\"option\"\n aria-selected={this.state.highlightedOptionId === optionId ? 'true' : undefined}\n onMouseOver={() => this.handleHover(index)}\n >\n <StyledLabel\n ref={(ref) => (this.elementRefs[index] = ref)}\n dangerouslySetInnerHTML={{ __html: c.label }}\n />\n <StyledSelectedIndicator dangerouslySetInnerHTML={{ __html: c.value === value ? ' &check;' : '' }} />\n </StyledMenuItem>\n );\n })}\n </StyledMenu>\n </>\n );\n }\n}\n\nexport default Dropdown;\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.object.define-property.js");
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
@@ -48,4 +47,4 @@ Input.propTypes = {
48
47
  isConstructedResponse: _propTypes["default"].bool
49
48
  };
50
49
  var _default = exports["default"] = Input;
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfY29ycmVjdElucHV0IiwiSW5wdXQiLCJfcmVmIiwiZGlzYWJsZWQiLCJjb3JyZWN0IiwiY2hhcmFjdGVyc0xpbWl0IiwiaWQiLCJpc0NvbnN0cnVjdGVkUmVzcG9uc2UiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwic2hvd0NvcnJlY3RBbnN3ZXIiLCJzcGVsbENoZWNrIiwid2lkdGgiLCJjcmVhdGVFbGVtZW50IiwidmFyaWFudCIsImlzQm94IiwiZSIsInRhcmdldCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImZ1bmMiLCJib29sIiwibnVtYmVyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvaW5wdXQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IENvcnJlY3RJbnB1dCBmcm9tICcuL2NvcnJlY3QtaW5wdXQnO1xuXG5jb25zdCBJbnB1dCA9ICh7XG4gIGRpc2FibGVkLFxuICBjb3JyZWN0LFxuICBjaGFyYWN0ZXJzTGltaXQsXG4gIGlkLFxuICBpc0NvbnN0cnVjdGVkUmVzcG9uc2UsXG4gIHZhbHVlLFxuICBvbkNoYW5nZSxcbiAgc2hvd0NvcnJlY3RBbnN3ZXIsXG4gIHNwZWxsQ2hlY2ssXG4gIHdpZHRoLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxDb3JyZWN0SW5wdXRcbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIGNvcnJlY3Q9e3Nob3dDb3JyZWN0QW5zd2VyIHx8IGNvcnJlY3R9XG4gICAgICBjaGFyYWN0ZXJzTGltaXQ9e2NoYXJhY3RlcnNMaW1pdH1cbiAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICBpc0NvbnN0cnVjdGVkUmVzcG9uc2U9e2lzQ29uc3RydWN0ZWRSZXNwb25zZX1cbiAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2t9XG4gICAgICBpc0JveD17dHJ1ZX1cbiAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICBvbkNoYW5nZShpZCwgZS50YXJnZXQudmFsdWUpO1xuICAgICAgfX1cbiAgICAvPlxuICApO1xufTtcblxuSW5wdXQucHJvcFR5cGVzID0ge1xuICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICBzcGVsbENoZWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgY29ycmVjdDogUHJvcFR5cGVzLmJvb2wsXG4gIHNob3dDb3JyZWN0QW5zd2VyOiBQcm9wVHlwZXMuYm9vbCxcbiAgY2hhcmFjdGVyc0xpbWl0OiBQcm9wVHlwZXMubnVtYmVyLFxuICB3aWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgaXNDb25zdHJ1Y3RlZFJlc3BvbnNlOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IElucHV0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGFBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQU1HLEtBQUssR0FBRyxTQUFSQSxLQUFLQSxDQUFBQyxJQUFBLEVBV0w7RUFBQSxJQVZKQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtJQUNSQyxPQUFPLEdBQUFGLElBQUEsQ0FBUEUsT0FBTztJQUNQQyxlQUFlLEdBQUFILElBQUEsQ0FBZkcsZUFBZTtJQUNmQyxFQUFFLEdBQUFKLElBQUEsQ0FBRkksRUFBRTtJQUNGQyxxQkFBcUIsR0FBQUwsSUFBQSxDQUFyQksscUJBQXFCO0lBQ3JCQyxLQUFLLEdBQUFOLElBQUEsQ0FBTE0sS0FBSztJQUNMQyxTQUFRLEdBQUFQLElBQUEsQ0FBUk8sUUFBUTtJQUNSQyxpQkFBaUIsR0FBQVIsSUFBQSxDQUFqQlEsaUJBQWlCO0lBQ2pCQyxVQUFVLEdBQUFULElBQUEsQ0FBVlMsVUFBVTtJQUNWQyxLQUFLLEdBQUFWLElBQUEsQ0FBTFUsS0FBSztFQUVMLG9CQUNFaEIsTUFBQSxZQUFBaUIsYUFBQSxDQUFDYixhQUFBLFdBQVk7SUFDWEcsUUFBUSxFQUFFQSxRQUFTO0lBQ25CQyxPQUFPLEVBQUVNLGlCQUFpQixJQUFJTixPQUFRO0lBQ3RDQyxlQUFlLEVBQUVBLGVBQWdCO0lBQ2pDUyxPQUFPLEVBQUMsVUFBVTtJQUNsQk4sS0FBSyxFQUFFQSxLQUFNO0lBQ2JELHFCQUFxQixFQUFFQSxxQkFBc0I7SUFDN0NJLFVBQVUsRUFBRUEsVUFBVztJQUN2QkksS0FBSyxFQUFFLElBQUs7SUFDWkgsS0FBSyxFQUFFQSxLQUFNO0lBQ2JILFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHTyxDQUFDLEVBQUs7TUFDZlAsU0FBUSxDQUFDSCxFQUFFLEVBQUVVLENBQUMsQ0FBQ0MsTUFBTSxDQUFDVCxLQUFLLENBQUM7SUFDOUI7RUFBRSxDQUNILENBQUM7QUFFTixDQUFDO0FBRURQLEtBQUssQ0FBQ2lCLFNBQVMsR0FBRztFQUNoQlosRUFBRSxFQUFFYSxxQkFBUyxDQUFDQyxNQUFNO0VBQ3BCWixLQUFLLEVBQUVXLHFCQUFTLENBQUNDLE1BQU07RUFDdkJYLFFBQVEsRUFBRVUscUJBQVMsQ0FBQ0UsSUFBSTtFQUN4QmxCLFFBQVEsRUFBRWdCLHFCQUFTLENBQUNHLElBQUk7RUFDeEJYLFVBQVUsRUFBRVEscUJBQVMsQ0FBQ0csSUFBSTtFQUMxQmxCLE9BQU8sRUFBRWUscUJBQVMsQ0FBQ0csSUFBSTtFQUN2QlosaUJBQWlCLEVBQUVTLHFCQUFTLENBQUNHLElBQUk7RUFDakNqQixlQUFlLEVBQUVjLHFCQUFTLENBQUNJLE1BQU07RUFDakNYLEtBQUssRUFBRU8scUJBQVMsQ0FBQ0ksTUFBTTtFQUN2QmhCLHFCQUFxQixFQUFFWSxxQkFBUyxDQUFDRztBQUNuQyxDQUFDO0FBQUMsSUFBQUUsUUFBQSxHQUFBQyxPQUFBLGNBRWF4QixLQUFLIiwiaWdub3JlTGlzdCI6W119
50
+ //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","names":["_react","_interopRequireDefault","require","_propTypes","_correctInput","Input","_ref","disabled","correct","charactersLimit","id","isConstructedResponse","value","onChange","showCorrectAnswer","spellCheck","width","createElement","variant","isBox","e","target","propTypes","PropTypes","string","func","bool","number","_default","exports"],"sources":["../../src/components/input.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CorrectInput from './correct-input';\n\nconst Input = ({\n disabled,\n correct,\n charactersLimit,\n id,\n isConstructedResponse,\n value,\n onChange,\n showCorrectAnswer,\n spellCheck,\n width,\n}) => {\n return (\n <CorrectInput\n disabled={disabled}\n correct={showCorrectAnswer || correct}\n charactersLimit={charactersLimit}\n variant=\"outlined\"\n value={value}\n isConstructedResponse={isConstructedResponse}\n spellCheck={spellCheck}\n isBox={true}\n width={width}\n onChange={(e) => {\n onChange(id, e.target.value);\n }}\n />\n );\n};\n\nInput.propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n spellCheck: PropTypes.bool,\n correct: PropTypes.bool,\n showCorrectAnswer: PropTypes.bool,\n charactersLimit: PropTypes.number,\n width: PropTypes.number,\n isConstructedResponse: PropTypes.bool,\n};\n\nexport default Input;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAMG,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAWL;EAAA,IAVJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,eAAe,GAAAH,IAAA,CAAfG,eAAe;IACfC,EAAE,GAAAJ,IAAA,CAAFI,EAAE;IACFC,qBAAqB,GAAAL,IAAA,CAArBK,qBAAqB;IACrBC,KAAK,GAAAN,IAAA,CAALM,KAAK;IACLC,SAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,iBAAiB,GAAAR,IAAA,CAAjBQ,iBAAiB;IACjBC,UAAU,GAAAT,IAAA,CAAVS,UAAU;IACVC,KAAK,GAAAV,IAAA,CAALU,KAAK;EAEL,oBACEhB,MAAA,YAAAiB,aAAA,CAACb,aAAA,WAAY;IACXG,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEM,iBAAiB,IAAIN,OAAQ;IACtCC,eAAe,EAAEA,eAAgB;IACjCS,OAAO,EAAC,UAAU;IAClBN,KAAK,EAAEA,KAAM;IACbD,qBAAqB,EAAEA,qBAAsB;IAC7CI,UAAU,EAAEA,UAAW;IACvBI,KAAK,EAAE,IAAK;IACZH,KAAK,EAAEA,KAAM;IACbH,QAAQ,EAAE,SAAVA,QAAQA,CAAGO,CAAC,EAAK;MACfP,SAAQ,CAACH,EAAE,EAAEU,CAAC,CAACC,MAAM,CAACT,KAAK,CAAC;IAC9B;EAAE,CACH,CAAC;AAEN,CAAC;AAEDP,KAAK,CAACiB,SAAS,GAAG;EAChBZ,EAAE,EAAEa,qBAAS,CAACC,MAAM;EACpBZ,KAAK,EAAEW,qBAAS,CAACC,MAAM;EACvBX,QAAQ,EAAEU,qBAAS,CAACE,IAAI;EACxBlB,QAAQ,EAAEgB,qBAAS,CAACG,IAAI;EACxBX,UAAU,EAAEQ,qBAAS,CAACG,IAAI;EAC1BlB,OAAO,EAAEe,qBAAS,CAACG,IAAI;EACvBZ,iBAAiB,EAAES,qBAAS,CAACG,IAAI;EACjCjB,eAAe,EAAEc,qBAAS,CAACI,MAAM;EACjCX,KAAK,EAAEO,qBAAS,CAACI,MAAM;EACvBhB,qBAAqB,EAAEY,qBAAS,CAACG;AACnC,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,cAEaxB,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"input.js","names":["_react","_interopRequireDefault","require","_propTypes","_correctInput","Input","_ref","disabled","correct","charactersLimit","id","isConstructedResponse","value","onChange","showCorrectAnswer","spellCheck","width","createElement","variant","isBox","e","target","propTypes","PropTypes","string","func","bool","number","_default","exports"],"sources":["../../src/components/input.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CorrectInput from './correct-input';\n\nconst Input = ({\n disabled,\n correct,\n charactersLimit,\n id,\n isConstructedResponse,\n value,\n onChange,\n showCorrectAnswer,\n spellCheck,\n width,\n}) => {\n return (\n <CorrectInput\n disabled={disabled}\n correct={showCorrectAnswer || correct}\n charactersLimit={charactersLimit}\n variant=\"outlined\"\n value={value}\n isConstructedResponse={isConstructedResponse}\n spellCheck={spellCheck}\n isBox={true}\n width={width}\n onChange={(e) => {\n onChange(id, e.target.value);\n }}\n />\n );\n};\n\nInput.propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n spellCheck: PropTypes.bool,\n correct: PropTypes.bool,\n showCorrectAnswer: PropTypes.bool,\n charactersLimit: PropTypes.number,\n width: PropTypes.number,\n isConstructedResponse: PropTypes.bool,\n};\n\nexport default Input;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAMG,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAWL;EAAA,IAVJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,eAAe,GAAAH,IAAA,CAAfG,eAAe;IACfC,EAAE,GAAAJ,IAAA,CAAFI,EAAE;IACFC,qBAAqB,GAAAL,IAAA,CAArBK,qBAAqB;IACrBC,KAAK,GAAAN,IAAA,CAALM,KAAK;IACLC,SAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,iBAAiB,GAAAR,IAAA,CAAjBQ,iBAAiB;IACjBC,UAAU,GAAAT,IAAA,CAAVS,UAAU;IACVC,KAAK,GAAAV,IAAA,CAALU,KAAK;EAEL,oBACEhB,MAAA,YAAAiB,aAAA,CAACb,aAAA,WAAY;IACXG,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEM,iBAAiB,IAAIN,OAAQ;IACtCC,eAAe,EAAEA,eAAgB;IACjCS,OAAO,EAAC,UAAU;IAClBN,KAAK,EAAEA,KAAM;IACbD,qBAAqB,EAAEA,qBAAsB;IAC7CI,UAAU,EAAEA,UAAW;IACvBI,KAAK,EAAE,IAAK;IACZH,KAAK,EAAEA,KAAM;IACbH,QAAQ,EAAE,SAAVA,QAAQA,CAAGO,CAAC,EAAK;MACfP,SAAQ,CAACH,EAAE,EAAEU,CAAC,CAACC,MAAM,CAACT,KAAK,CAAC;IAC9B;EAAE,CACH,CAAC;AAEN,CAAC;AAEDP,KAAK,CAACiB,SAAS,GAAG;EAChBZ,EAAE,EAAEa,qBAAS,CAACC,MAAM;EACpBZ,KAAK,EAAEW,qBAAS,CAACC,MAAM;EACvBX,QAAQ,EAAEU,qBAAS,CAACE,IAAI;EACxBlB,QAAQ,EAAEgB,qBAAS,CAACG,IAAI;EACxBX,UAAU,EAAEQ,qBAAS,CAACG,IAAI;EAC1BlB,OAAO,EAAEe,qBAAS,CAACG,IAAI;EACvBZ,iBAAiB,EAAES,qBAAS,CAACG,IAAI;EACjCjB,eAAe,EAAEc,qBAAS,CAACI,MAAM;EACjCX,KAAK,EAAEO,qBAAS,CAACI,MAAM;EACvBhB,qBAAqB,EAAEY,qBAAS,CAACG;AACnC,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,cAEaxB,KAAK","ignoreList":[]}
@@ -1,21 +1,10 @@
1
1
  "use strict";
2
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
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
4
  Object.defineProperty(exports, "__esModule", {
15
5
  value: true
16
6
  });
17
7
  exports["default"] = void 0;
18
- require("core-js/modules/es.array.concat.js");
19
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
9
  var _react = _interopRequireDefault(require("react"));
21
10
  var _styles = require("@mui/material/styles");
@@ -110,4 +99,4 @@ var MaskedInput = function MaskedInput(props) {
110
99
  };
111
100
  };
112
101
  var _default = exports["default"] = (0, _withMask.withMask)('input', MaskedInput);
113
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZXMiLCJfY2xhc3NuYW1lcyIsIl9yZW5kZXJVaSIsIl93aXRoTWFzayIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiRWRpdGFibGVIdG1sIiwiU3R5bGVkRWRpdGFibGVIdG1sIiwid2luZG93Iiwic3R5bGVkIiwiZGlzcGxheSIsInZlcnRpY2FsQWxpZ24iLCJtYXJnaW4iLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJjb25jYXQiLCJjb2xvciIsImJsYWNrIiwiY29ycmVjdCIsImluY29ycmVjdCIsIk1hc2tlZElucHV0IiwicHJvcHMiLCJub2RlIiwiZGF0YSIsIl9ub2RlJGRhdGEiLCJhZGp1c3RlZExpbWl0IiwiZGlzYWJsZWQiLCJmZWVkYmFjayIsInNob3dDb3JyZWN0QW5zd2VyIiwibWF4TGVuZ3RoIiwic3BlbGxDaGVjayIsInBsdWdpblByb3BzIiwib25DaGFuZ2UiLCJkYXRhc2V0IiwiY29tcG9uZW50IiwiX3BsdWdpblByb3BzJGNoYXJhY3RlIiwiY29ycmVjdEFuc3dlciIsImNob2ljZXMiLCJpZCIsImZpbmFsVmFsdWUiLCJsYWJlbCIsIndpZHRoIiwiZmVlZGJhY2tTdGF0dXMiLCJpc0NvcnJlY3QiLCJpc0luY29ycmVjdCIsImhhbmRsZUlucHV0Q2hhbmdlIiwibmV3VmFsdWUiLCJ1cGRhdGVkVmFsdWUiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJrZXkiLCJrZXlDb2RlIiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJkaXNhYmxlVW5kZXJsaW5lIiwibWFya3VwIiwiY2hhcmFjdGVyc0xpbWl0IiwiYWN0aXZlUGx1Z2lucyIsImxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzIiwibGFuZ3VhZ2UiLCJvbktleURvd24iLCJhdXRvV2lkdGhUb29sYmFyIiwidG9vbGJhck9wdHMiLCJtaW5XaWR0aCIsIm5vQm9yZGVyIiwiaXNIaWRkZW4iLCJjaGFyYWN0ZXJzIiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIndpdGhNYXNrIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0cnVjdGVkLXJlc3BvbnNlLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IHdpdGhNYXNrIH0gZnJvbSAnLi93aXRoLW1hc2snO1xuLy9pbXBvcnQgRWRpdGFibGVIdG1sIGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCc7XG5cbmxldCBFZGl0YWJsZUh0bWw7XG5sZXQgU3R5bGVkRWRpdGFibGVIdG1sO1xuXG4vLyAtIG1hdGhxdWlsbCBlcnJvciB3aW5kb3cgbm90IGRlZmluZWRcbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICBFZGl0YWJsZUh0bWwgPSByZXF1aXJlKCdAcGllLWxpYi9lZGl0YWJsZS1odG1sLXRpcC10YXAnKVsnZGVmYXVsdCddO1xuICBTdHlsZWRFZGl0YWJsZUh0bWwgPSBzdHlsZWQoRWRpdGFibGVIdG1sKSgoKSA9PiAoe1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxuICAgIG1hcmdpbjogJzRweCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBib3JkZXI6IGAxcHggc29saWQgJHtjb2xvci5ibGFjaygpfWAsXG4gICAgJyYuY29ycmVjdCc6IHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAke2NvbG9yLmNvcnJlY3QoKX1gLFxuICAgIH0sXG4gICAgJyYuaW5jb3JyZWN0Jzoge1xuICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Y29sb3IuaW5jb3JyZWN0KCl9YCxcbiAgICB9LFxuICB9KSk7XG59XG5cbmNvbnN0IE1hc2tlZElucHV0ID0gKHByb3BzKSA9PiAobm9kZSwgZGF0YSkgPT4ge1xuICBjb25zdCB7IGFkanVzdGVkTGltaXQsIGRpc2FibGVkLCBmZWVkYmFjaywgc2hvd0NvcnJlY3RBbnN3ZXIsIG1heExlbmd0aCwgc3BlbGxDaGVjaywgcGx1Z2luUHJvcHMsIG9uQ2hhbmdlIH0gPSBwcm9wcztcbiAgY29uc3QgZGF0YXNldCA9IG5vZGUuZGF0YT8uZGF0YXNldCB8fCB7fTtcblxuICBpZiAoZGF0YXNldC5jb21wb25lbnQgPT09ICdpbnB1dCcpIHtcbiAgICBjb25zdCBjb3JyZWN0QW5zd2VyID0gKChwcm9wcy5jaG9pY2VzICYmIGRhdGFzZXQgJiYgcHJvcHMuY2hvaWNlc1tkYXRhc2V0LmlkXSkgfHwgW10pWzBdO1xuICAgIGNvbnN0IGZpbmFsVmFsdWUgPSBzaG93Q29ycmVjdEFuc3dlciA/IGNvcnJlY3RBbnN3ZXIgJiYgY29ycmVjdEFuc3dlci5sYWJlbCA6IGRhdGFbZGF0YXNldC5pZF0gfHwgJyc7XG4gICAgY29uc3Qgd2lkdGggPSBtYXhMZW5ndGggJiYgbWF4TGVuZ3RoW2RhdGFzZXQuaWRdO1xuICAgIGNvbnN0IGZlZWRiYWNrU3RhdHVzID0gZmVlZGJhY2sgJiYgZmVlZGJhY2tbZGF0YXNldC5pZF07XG4gICAgY29uc3QgaXNDb3JyZWN0ID0gc2hvd0NvcnJlY3RBbnN3ZXIgfHwgZmVlZGJhY2tTdGF0dXMgPT09ICdjb3JyZWN0JztcbiAgICBjb25zdCBpc0luY29ycmVjdCA9ICFzaG93Q29ycmVjdEFuc3dlciAmJiBmZWVkYmFja1N0YXR1cyA9PT0gJ2luY29ycmVjdCc7XG5cbiAgICBjb25zdCBoYW5kbGVJbnB1dENoYW5nZSA9IChuZXdWYWx1ZSkgPT4ge1xuICAgICAgY29uc3QgdXBkYXRlZFZhbHVlID0ge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBbZGF0YXNldC5pZF06IG5ld1ZhbHVlLFxuICAgICAgfTtcbiAgICAgIG9uQ2hhbmdlKHVwZGF0ZWRWYWx1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgIC8vIHRoZSBrZXlDb2RlIHZhbHVlIGZvciB0aGUgRW50ZXIvUmV0dXJuIGtleSBpcyAxM1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXlDb2RlID09PSAxMykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRFZGl0YWJsZUh0bWxcbiAgICAgICAgaWQ9e2RhdGFzZXQuaWR9XG4gICAgICAgIGtleT17YCR7bm9kZS50eXBlfS1pbnB1dC0ke2RhdGFzZXQuaWR9YH1cbiAgICAgICAgZGlzYWJsZWQ9e3Nob3dDb3JyZWN0QW5zd2VyIHx8IGRpc2FibGVkfVxuICAgICAgICBkaXNhYmxlVW5kZXJsaW5lXG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVJbnB1dENoYW5nZX1cbiAgICAgICAgbWFya3VwPXtmaW5hbFZhbHVlIHx8ICcnfVxuICAgICAgICBjaGFyYWN0ZXJzTGltaXQ9e2FkanVzdGVkTGltaXQgPyB3aWR0aCA6IDI1fVxuICAgICAgICBhY3RpdmVQbHVnaW5zPXtbJ2xhbmd1YWdlQ2hhcmFjdGVycyddfVxuICAgICAgICBwbHVnaW5Qcm9wcz17cGx1Z2luUHJvcHN9XG4gICAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzPXtbeyBsYW5ndWFnZTogJ3NwYW5pc2gnIH1dfVxuICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrfVxuICAgICAgICB3aWR0aD17YGNhbGMoJHt3aWR0aH1lbSArIDMycHgpYH0gLy8gYWRkZWQgMzJweCBmb3IgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvZiBlZGl0YWJsZS1odG1sXG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgYXV0b1dpZHRoVG9vbGJhclxuICAgICAgICB0b29sYmFyT3B0cz17e1xuICAgICAgICAgIG1pbldpZHRoOiAnYXV0bycsXG4gICAgICAgICAgbm9Cb3JkZXI6IHRydWUsXG4gICAgICAgICAgaXNIaWRkZW46ICEhcGx1Z2luUHJvcHM/LmNoYXJhY3RlcnM/LmRpc2FibGVkLFxuICAgICAgICB9fVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoe1xuICAgICAgICAgIGNvcnJlY3Q6IGlzQ29ycmVjdCxcbiAgICAgICAgICBpbmNvcnJlY3Q6IGlzSW5jb3JyZWN0LFxuICAgICAgICB9KX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aE1hc2soJ2lucHV0JywgTWFza2VkSW5wdXQpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQXVDLFNBQUFLLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFB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
102
+ //# sourceMappingURL=constructed-response.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constructed-response.js","names":["_react","_interopRequireDefault","require","_styles","_classnames","_renderUi","_withMask","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","EditableHtml","StyledEditableHtml","window","styled","display","verticalAlign","margin","borderRadius","border","concat","color","black","correct","incorrect","MaskedInput","props","node","data","_node$data","adjustedLimit","disabled","feedback","showCorrectAnswer","maxLength","spellCheck","pluginProps","onChange","dataset","component","_pluginProps$characte","correctAnswer","choices","id","finalValue","label","width","feedbackStatus","isCorrect","isIncorrect","handleInputChange","newValue","updatedValue","handleKeyDown","event","key","keyCode","createElement","type","disableUnderline","markup","charactersLimit","activePlugins","languageCharactersProps","language","onKeyDown","autoWidthToolbar","toolbarOpts","minWidth","noBorder","isHidden","characters","className","classnames","_default","exports","withMask"],"sources":["../src/constructed-response.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport classnames from 'classnames';\n\nimport { color } from '@pie-lib/render-ui';\nimport { withMask } from './with-mask';\n//import EditableHtml from '@pie-lib/editable-html-tip-tap';\n\nlet EditableHtml;\nlet StyledEditableHtml;\n\n// - mathquill error window not defined\nif (typeof window !== 'undefined') {\n EditableHtml = require('@pie-lib/editable-html-tip-tap')['default'];\n StyledEditableHtml = styled(EditableHtml)(() => ({\n display: 'inline-block',\n verticalAlign: 'middle',\n margin: '4px',\n borderRadius: '4px',\n border: `1px solid ${color.black()}`,\n '&.correct': {\n border: `1px solid ${color.correct()}`,\n },\n '&.incorrect': {\n border: `1px solid ${color.incorrect()}`,\n },\n }));\n}\n\nconst MaskedInput = (props) => (node, data) => {\n const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck, pluginProps, onChange } = props;\n const dataset = node.data?.dataset || {};\n\n if (dataset.component === 'input') {\n const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n const width = maxLength && maxLength[dataset.id];\n const feedbackStatus = feedback && feedback[dataset.id];\n const isCorrect = showCorrectAnswer || feedbackStatus === 'correct';\n const isIncorrect = !showCorrectAnswer && feedbackStatus === 'incorrect';\n\n const handleInputChange = (newValue) => {\n const updatedValue = {\n ...data,\n [dataset.id]: newValue,\n };\n onChange(updatedValue);\n };\n\n const handleKeyDown = (event) => {\n // the keyCode value for the Enter/Return key is 13\n if (event.key === 'Enter' || event.keyCode === 13) {\n return true;\n }\n };\n\n return (\n <StyledEditableHtml\n id={dataset.id}\n key={`${node.type}-input-${dataset.id}`}\n disabled={showCorrectAnswer || disabled}\n disableUnderline\n onChange={handleInputChange}\n markup={finalValue || ''}\n charactersLimit={adjustedLimit ? width : 25}\n activePlugins={['languageCharacters']}\n pluginProps={pluginProps}\n languageCharactersProps={[{ language: 'spanish' }]}\n spellCheck={spellCheck}\n width={`calc(${width}em + 32px)`} // added 32px for left and right padding of editable-html\n onKeyDown={handleKeyDown}\n autoWidthToolbar\n toolbarOpts={{\n minWidth: 'auto',\n noBorder: true,\n isHidden: !!pluginProps?.characters?.disabled,\n }}\n className={classnames({\n correct: isCorrect,\n incorrect: isIncorrect,\n })}\n />\n );\n }\n};\n\nexport default withMask('input', MaskedInput);\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAAuC,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AACvC;;AAEA,IAAIoB,YAAY;AAChB,IAAIC,kBAAkB;;AAEtB;AACA,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;EACjCF,YAAY,GAAG1B,OAAO,CAAC,gCAAgC,CAAC,CAAC,SAAS,CAAC;EACnE2B,kBAAkB,GAAG,IAAAE,cAAM,EAACH,YAAY,CAAC,CAAC;IAAA,OAAO;MAC/CI,OAAO,EAAE,cAAc;MACvBC,aAAa,EAAE,QAAQ;MACvBC,MAAM,EAAE,KAAK;MACbC,YAAY,EAAE,KAAK;MACnBC,MAAM,eAAAC,MAAA,CAAeC,eAAK,CAACC,KAAK,CAAC,CAAC,CAAE;MACpC,WAAW,EAAE;QACXH,MAAM,eAAAC,MAAA,CAAeC,eAAK,CAACE,OAAO,CAAC,CAAC;MACtC,CAAC;MACD,aAAa,EAAE;QACbJ,MAAM,eAAAC,MAAA,CAAeC,eAAK,CAACG,SAAS,CAAC,CAAC;MACxC;IACF,CAAC;EAAA,CAAC,CAAC;AACL;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAK;EAAA,OAAK,UAACC,IAAI,EAAEC,IAAI,EAAK;IAAA,IAAAC,UAAA;IAC7C,IAAQC,aAAa,GAA0FJ,KAAK,CAA5GI,aAAa;MAAEC,QAAQ,GAAgFL,KAAK,CAA7FK,QAAQ;MAAEC,QAAQ,GAAsEN,KAAK,CAAnFM,QAAQ;MAAEC,iBAAiB,GAAmDP,KAAK,CAAzEO,iBAAiB;MAAEC,SAAS,GAAwCR,KAAK,CAAtDQ,SAAS;MAAEC,UAAU,GAA4BT,KAAK,CAA3CS,UAAU;MAAEC,WAAW,GAAeV,KAAK,CAA/BU,WAAW;MAAEC,QAAQ,GAAKX,KAAK,CAAlBW,QAAQ;IAC1G,IAAMC,OAAO,GAAG,EAAAT,UAAA,GAAAF,IAAI,CAACC,IAAI,cAAAC,UAAA,uBAATA,UAAA,CAAWS,OAAO,KAAI,CAAC,CAAC;IAExC,IAAIA,OAAO,CAACC,SAAS,KAAK,OAAO,EAAE;MAAA,IAAAC,qBAAA;MACjC,IAAMC,aAAa,GAAG,CAAEf,KAAK,CAACgB,OAAO,IAAIJ,OAAO,IAAIZ,KAAK,CAACgB,OAAO,CAACJ,OAAO,CAACK,EAAE,CAAC,IAAK,EAAE,EAAE,CAAC,CAAC;MACxF,IAAMC,UAAU,GAAGX,iBAAiB,GAAGQ,aAAa,IAAIA,aAAa,CAACI,KAAK,GAAGjB,IAAI,CAACU,OAAO,CAACK,EAAE,CAAC,IAAI,EAAE;MACpG,IAAMG,KAAK,GAAGZ,SAAS,IAAIA,SAAS,CAACI,OAAO,CAACK,EAAE,CAAC;MAChD,IAAMI,cAAc,GAAGf,QAAQ,IAAIA,QAAQ,CAACM,OAAO,CAACK,EAAE,CAAC;MACvD,IAAMK,SAAS,GAAGf,iBAAiB,IAAIc,cAAc,KAAK,SAAS;MACnE,IAAME,WAAW,GAAG,CAAChB,iBAAiB,IAAIc,cAAc,KAAK,WAAW;MAExE,IAAMG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,QAAQ,EAAK;QACtC,IAAMC,YAAY,GAAAjD,aAAA,CAAAA,aAAA,KACbyB,IAAI,WAAArB,gBAAA,iBACN+B,OAAO,CAACK,EAAE,EAAGQ,QAAQ,EACvB;QACDd,QAAQ,CAACe,YAAY,CAAC;MACxB,CAAC;MAED,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAK,EAAK;QAC/B;QACA,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACE,OAAO,KAAK,EAAE,EAAE;UACjD,OAAO,IAAI;QACb;MACF,CAAC;MAED,oBACEzE,MAAA,YAAA0E,aAAA,CAAC7C,kBAAkB;QACjB+B,EAAE,EAAEL,OAAO,CAACK,EAAG;QACfY,GAAG,KAAAnC,MAAA,CAAKO,IAAI,CAAC+B,IAAI,aAAAtC,MAAA,CAAUkB,OAAO,CAACK,EAAE,CAAG;QACxCZ,QAAQ,EAAEE,iBAAiB,IAAIF,QAAS;QACxC4B,gBAAgB;QAChBtB,QAAQ,EAAEa,iBAAkB;QAC5BU,MAAM,EAAEhB,UAAU,IAAI,EAAG;QACzBiB,eAAe,EAAE/B,aAAa,GAAGgB,KAAK,GAAG,EAAG;QAC5CgB,aAAa,EAAE,CAAC,oBAAoB,CAAE;QACtC1B,WAAW,EAAEA,WAAY;QACzB2B,uBAAuB,EAAE,CAAC;UAAEC,QAAQ,EAAE;QAAU,CAAC,CAAE;QACnD7B,UAAU,EAAEA,UAAW;QACvBW,KAAK,UAAA1B,MAAA,CAAU0B,KAAK,eAAa,CAAC;QAAA;QAClCmB,SAAS,EAAEZ,aAAc;QACzBa,gBAAgB;QAChBC,WAAW,EAAE;UACXC,QAAQ,EAAE,MAAM;UAChBC,QAAQ,EAAE,IAAI;UACdC,QAAQ,EAAE,CAAC,EAAClC,WAAW,aAAXA,WAAW,gBAAAI,qBAAA,GAAXJ,WAAW,CAAEmC,UAAU,cAAA/B,qBAAA,eAAvBA,qBAAA,CAAyBT,QAAQ;QAC/C,CAAE;QACFyC,SAAS,EAAE,IAAAC,sBAAU,EAAC;UACpBlD,OAAO,EAAEyB,SAAS;UAClBxB,SAAS,EAAEyB;QACb,CAAC;MAAE,CACJ,CAAC;IAEN;EACF,CAAC;AAAA;AAAC,IAAAyB,QAAA,GAAAC,OAAA,cAEa,IAAAC,kBAAQ,EAAC,OAAO,EAAEnD,WAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"constructed-response.js","names":["_react","_interopRequireDefault","require","_styles","_classnames","_renderUi","_withMask","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","EditableHtml","StyledEditableHtml","window","styled","display","verticalAlign","margin","borderRadius","border","concat","color","black","correct","incorrect","MaskedInput","props","node","data","_node$data","adjustedLimit","disabled","feedback","showCorrectAnswer","maxLength","spellCheck","pluginProps","onChange","dataset","component","_pluginProps$characte","correctAnswer","choices","id","finalValue","label","width","feedbackStatus","isCorrect","isIncorrect","handleInputChange","newValue","updatedValue","handleKeyDown","event","key","keyCode","createElement","type","disableUnderline","markup","charactersLimit","activePlugins","languageCharactersProps","language","onKeyDown","autoWidthToolbar","toolbarOpts","minWidth","noBorder","isHidden","characters","className","classnames","_default","exports","withMask"],"sources":["../src/constructed-response.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport classnames from 'classnames';\n\nimport { color } from '@pie-lib/render-ui';\nimport { withMask } from './with-mask';\n//import EditableHtml from '@pie-lib/editable-html-tip-tap';\n\nlet EditableHtml;\nlet StyledEditableHtml;\n\n// - mathquill error window not defined\nif (typeof window !== 'undefined') {\n EditableHtml = require('@pie-lib/editable-html-tip-tap')['default'];\n StyledEditableHtml = styled(EditableHtml)(() => ({\n display: 'inline-block',\n verticalAlign: 'middle',\n margin: '4px',\n borderRadius: '4px',\n border: `1px solid ${color.black()}`,\n '&.correct': {\n border: `1px solid ${color.correct()}`,\n },\n '&.incorrect': {\n border: `1px solid ${color.incorrect()}`,\n },\n }));\n}\n\nconst MaskedInput = (props) => (node, data) => {\n const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck, pluginProps, onChange } = props;\n const dataset = node.data?.dataset || {};\n\n if (dataset.component === 'input') {\n const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n const width = maxLength && maxLength[dataset.id];\n const feedbackStatus = feedback && feedback[dataset.id];\n const isCorrect = showCorrectAnswer || feedbackStatus === 'correct';\n const isIncorrect = !showCorrectAnswer && feedbackStatus === 'incorrect';\n\n const handleInputChange = (newValue) => {\n const updatedValue = {\n ...data,\n [dataset.id]: newValue,\n };\n onChange(updatedValue);\n };\n\n const handleKeyDown = (event) => {\n // the keyCode value for the Enter/Return key is 13\n if (event.key === 'Enter' || event.keyCode === 13) {\n return true;\n }\n };\n\n return (\n <StyledEditableHtml\n id={dataset.id}\n key={`${node.type}-input-${dataset.id}`}\n disabled={showCorrectAnswer || disabled}\n disableUnderline\n onChange={handleInputChange}\n markup={finalValue || ''}\n charactersLimit={adjustedLimit ? width : 25}\n activePlugins={['languageCharacters']}\n pluginProps={pluginProps}\n languageCharactersProps={[{ language: 'spanish' }]}\n spellCheck={spellCheck}\n width={`calc(${width}em + 32px)`} // added 32px for left and right padding of editable-html\n onKeyDown={handleKeyDown}\n autoWidthToolbar\n toolbarOpts={{\n minWidth: 'auto',\n noBorder: true,\n isHidden: !!pluginProps?.characters?.disabled,\n }}\n className={classnames({\n correct: isCorrect,\n incorrect: isIncorrect,\n })}\n />\n );\n }\n};\n\nexport default withMask('input', MaskedInput);\n"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports["default"] = void 0;
9
- var _react = _interopRequireDefault(require("react"));
10
7
  var _withMask = require("./with-mask");
11
8
  // import Input from './components/input';
12
9
  // eslint-disable-next-line react/display-name
@@ -42,4 +39,4 @@ var _default = exports["default"] = (0, _withMask.withMask)('input', function (p
42
39
  }
43
40
  };
44
41
  });
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl93aXRoTWFzayIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIndpdGhNYXNrIiwicHJvcHMiLCJub2RlIiwiZGF0YSIsIm9uQ2hhbmdlIiwiZGF0YXNldCIsImNvbXBvbmVudCIsImN1c3RvbU1hcmtNYXJrdXBDb21wb25lbnQiLCJpZCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jdXN0b21pemFibGUuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG4vLyBpbXBvcnQgSW5wdXQgZnJvbSAnLi9jb21wb25lbnRzL2lucHV0JztcbmltcG9ydCB7IHdpdGhNYXNrIH0gZnJvbSAnLi93aXRoLW1hc2snO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG5leHBvcnQgZGVmYXVsdCB3aXRoTWFzaygnaW5wdXQnLCAocHJvcHMpID0+IChub2RlLCBkYXRhLCBvbkNoYW5nZSkgPT4ge1xuICBjb25zdCBkYXRhc2V0ID0gbm9kZS5kYXRhID8gbm9kZS5kYXRhLmRhdGFzZXQgfHwge30gOiB7fTtcbiAgaWYgKGRhdGFzZXQuY29tcG9uZW50ID09PSAnaW5wdXQnKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L3Byb3AtdHlwZXNcbiAgICAvLyBjb25zdCB7IGFkanVzdGVkTGltaXQsIGRpc2FibGVkLCBmZWVkYmFjaywgc2hvd0NvcnJlY3RBbnN3ZXIsIG1heExlbmd0aCwgc3BlbGxDaGVjayB9ID0gcHJvcHM7XG5cbiAgICAvLyB0aGUgZmlyc3QgYW5zd2VyIGlzIHRoZSBjb3JyZWN0IG9uZVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9wcm9wLXR5cGVzXG4gICAgLy8gY29uc3QgY29ycmVjdEFuc3dlciA9ICgocHJvcHMuY2hvaWNlcyAmJiBkYXRhc2V0ICYmIHByb3BzLmNob2ljZXNbZGF0YXNldC5pZF0pIHx8IFtdKVswXTtcbiAgICAvLyBjb25zdCBmaW5hbFZhbHVlID0gc2hvd0NvcnJlY3RBbnN3ZXIgPyBjb3JyZWN0QW5zd2VyICYmIGNvcnJlY3RBbnN3ZXIubGFiZWwgOiBkYXRhW2RhdGFzZXQuaWRdIHx8ICcnO1xuICAgIC8vIGNvbnN0IHdpZHRoID0gbWF4TGVuZ3RoICYmIG1heExlbmd0aFtkYXRhc2V0LmlkXTtcblxuICAgIHJldHVybiBwcm9wcy5jdXN0b21NYXJrTWFya3VwQ29tcG9uZW50KGRhdGFzZXQuaWQpO1xuICAgIC8vIHJldHVybiAoXG4gICAgLy8gICA8SW5wdXRcbiAgICAvLyAgICAga2V5PXtgJHtub2RlLnR5cGV9LWlucHV0LSR7ZGF0YXNldC5pZH1gfVxuICAgIC8vICAgICBjb3JyZWN0PXtmZWVkYmFjayAmJiBmZWVkYmFja1tkYXRhc2V0LmlkXSAmJiBmZWVkYmFja1tkYXRhc2V0LmlkXSA9PT0gJ2NvcnJlY3QnfVxuICAgIC8vICAgICBkaXNhYmxlZD17c2hvd0NvcnJlY3RBbnN3ZXIgfHwgZGlzYWJsZWR9XG4gICAgLy8gICAgIHZhbHVlPXtmaW5hbFZhbHVlfVxuICAgIC8vICAgICBpZD17ZGF0YXNldC5pZH1cbiAgICAvLyAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgIC8vICAgICBzaG93Q29ycmVjdEFuc3dlcj17c2hvd0NvcnJlY3RBbnN3ZXJ9XG4gICAgLy8gICAgIHdpZHRoPXt3aWR0aH1cbiAgICAvLyAgICAgY2hhcmFjdGVyc0xpbWl0PXthZGp1c3RlZExpbWl0ID8gd2lkdGggOiAyNX1cbiAgICAvLyAgICAgaXNDb25zdHJ1Y3RlZFJlc3BvbnNlPXt0cnVlfVxuICAgIC8vICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrfVxuICAgIC8vICAgLz5cbiAgICAvLyApO1xuICB9XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxTQUFBLEdBQUFELE9BQUE7QUFEQTtBQUdBO0FBQUEsSUFBQUUsUUFBQSxHQUFBQyxPQUFBLGNBQ2UsSUFBQUMsa0JBQVEsRUFBQyxPQUFPLEVBQUUsVUFBQ0MsS0FBSztFQUFBLE9BQUssVUFBQ0MsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBSztJQUNwRSxJQUFNQyxPQUFPLEdBQUdILElBQUksQ0FBQ0MsSUFBSSxHQUFHRCxJQUFJLENBQUNDLElBQUksQ0FBQ0UsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4RCxJQUFJQSxPQUFPLENBQUNDLFNBQVMsS0FBSyxPQUFPLEVBQUU7TUFDakM7TUFDQTs7TUFFQTtNQUNBO01BQ0E7TUFDQTtNQUNBOztNQUVBLE9BQU9MLEtBQUssQ0FBQ00seUJBQXlCLENBQUNGLE9BQU8sQ0FBQ0csRUFBRSxDQUFDO01BQ2xEO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNGO0VBQ0YsQ0FBQztBQUFBLEVBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
42
+ //# sourceMappingURL=customizable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"customizable.js","names":["_react","_interopRequireDefault","require","_withMask","_default","exports","withMask","props","node","data","onChange","dataset","component","customMarkMarkupComponent","id"],"sources":["../src/customizable.jsx"],"sourcesContent":["import React from 'react';\n// import Input from './components/input';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('input', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'input') {\n // eslint-disable-next-line react/prop-types\n // const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck } = props;\n\n // the first answer is the correct one\n // eslint-disable-next-line react/prop-types\n // const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n // const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n // const width = maxLength && maxLength[dataset.id];\n\n return props.customMarkMarkupComponent(dataset.id);\n // return (\n // <Input\n // key={`${node.type}-input-${dataset.id}`}\n // correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n // disabled={showCorrectAnswer || disabled}\n // value={finalValue}\n // id={dataset.id}\n // onChange={onChange}\n // showCorrectAnswer={showCorrectAnswer}\n // width={width}\n // charactersLimit={adjustedLimit ? width : 25}\n // isConstructedResponse={true}\n // spellCheck={spellCheck}\n // />\n // );\n }\n});\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AADA;AAGA;AAAA,IAAAE,QAAA,GAAAC,OAAA,cACe,IAAAC,kBAAQ,EAAC,OAAO,EAAE,UAACC,KAAK;EAAA,OAAK,UAACC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAK;IACpE,IAAMC,OAAO,GAAGH,IAAI,CAACC,IAAI,GAAGD,IAAI,CAACC,IAAI,CAACE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,IAAIA,OAAO,CAACC,SAAS,KAAK,OAAO,EAAE;MACjC;MACA;;MAEA;MACA;MACA;MACA;MACA;;MAEA,OAAOL,KAAK,CAACM,yBAAyB,CAACF,OAAO,CAACG,EAAE,CAAC;MAClD;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACF;EACF,CAAC;AAAA,EAAC","ignoreList":[]}
1
+ {"version":3,"file":"customizable.js","names":["_withMask","require","_default","exports","withMask","props","node","data","onChange","dataset","component","customMarkMarkupComponent","id"],"sources":["../src/customizable.jsx"],"sourcesContent":["// import Input from './components/input';\nimport { withMask } from './with-mask';\n\n// eslint-disable-next-line react/display-name\nexport default withMask('input', (props) => (node, data, onChange) => {\n const dataset = node.data ? node.data.dataset || {} : {};\n if (dataset.component === 'input') {\n // eslint-disable-next-line react/prop-types\n // const { adjustedLimit, disabled, feedback, showCorrectAnswer, maxLength, spellCheck } = props;\n\n // the first answer is the correct one\n // eslint-disable-next-line react/prop-types\n // const correctAnswer = ((props.choices && dataset && props.choices[dataset.id]) || [])[0];\n // const finalValue = showCorrectAnswer ? correctAnswer && correctAnswer.label : data[dataset.id] || '';\n // const width = maxLength && maxLength[dataset.id];\n\n return props.customMarkMarkupComponent(dataset.id);\n // return (\n // <Input\n // key={`${node.type}-input-${dataset.id}`}\n // correct={feedback && feedback[dataset.id] && feedback[dataset.id] === 'correct'}\n // disabled={showCorrectAnswer || disabled}\n // value={finalValue}\n // id={dataset.id}\n // onChange={onChange}\n // showCorrectAnswer={showCorrectAnswer}\n // width={width}\n // charactersLimit={adjustedLimit ? width : 25}\n // isConstructedResponse={true}\n // spellCheck={spellCheck}\n // />\n // );\n }\n});\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AADA;AAGA;AAAA,IAAAC,QAAA,GAAAC,OAAA,cACe,IAAAC,kBAAQ,EAAC,OAAO,EAAE,UAACC,KAAK;EAAA,OAAK,UAACC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAK;IACpE,IAAMC,OAAO,GAAGH,IAAI,CAACC,IAAI,GAAGD,IAAI,CAACC,IAAI,CAACE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,IAAIA,OAAO,CAACC,SAAS,KAAK,OAAO,EAAE;MACjC;MACA;;MAEA;MACA;MACA;MACA;MACA;;MAEA,OAAOL,KAAK,CAACM,yBAAyB,CAACF,OAAO,CAACG,EAAE,CAAC;MAClD;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACF;EACF,CAAC;AAAA,EAAC","ignoreList":[]}
@@ -1,15 +1,5 @@
1
1
  "use strict";
2
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.reflect.construct.js");
12
- require("core-js/modules/web.dom-collections.for-each.js");
13
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
4
  Object.defineProperty(exports, "__esModule", {
15
5
  value: true
@@ -21,11 +11,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
21
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
22
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
24
- require("core-js/modules/es.array.concat.js");
25
- require("core-js/modules/es.array.find.js");
26
- require("core-js/modules/es.array.includes.js");
27
- require("core-js/modules/es.object.to-string.js");
28
- require("core-js/modules/es.string.includes.js");
29
14
  var _react = _interopRequireDefault(require("react"));
30
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
16
  var _drag = require("@pie-lib/drag");
@@ -209,7 +194,7 @@ var DragInTheBlank = exports["default"] = /*#__PURE__*/function (_React$Componen
209
194
  return /*#__PURE__*/_react["default"].createElement(_drag.DragProvider, {
210
195
  onDragStart: this.handleDragStart,
211
196
  onDragEnd: this.handleDragEnd,
212
- collisionDetection: _core.closestCenter
197
+ collisionDetection: _core.rectIntersection
213
198
  }, /*#__PURE__*/_react["default"].createElement("div", {
214
199
  ref: function ref(_ref) {
215
200
  return _this2.rootRef = _ref;
@@ -265,4 +250,4 @@ var DragInTheBlank = exports["default"] = /*#__PURE__*/function (_React$Componen
265
250
  (0, _defineProperty2["default"])(DragInTheBlank, "defaultProps", {
266
251
  instanceId: 'drag-in-the-blank'
267
252
  });
268
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZHJhZyIsIl9jb3JlIiwiX2Nob2ljZXMiLCJfY2hvaWNlIiwiX2JsYW5rIiwiX3dpdGhNYXNrIiwiX2NhbGxTdXBlciIsInQiLCJvIiwiZSIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJvd25LZXlzIiwiciIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJNYXNrZWQiLCJ3aXRoTWFzayIsInByb3BzIiwibm9kZSIsImRhdGEiLCJvbkNoYW5nZSIsIl9ub2RlJGRhdGEiLCJkYXRhc2V0IiwiY29tcG9uZW50IiwiZGlzYWJsZWQiLCJkdXBsaWNhdGVzIiwiY29ycmVjdFJlc3BvbnNlIiwiZmVlZGJhY2siLCJzaG93Q29ycmVjdEFuc3dlciIsImVtcHR5UmVzcG9uc2VBcmVhV2lkdGgiLCJlbXB0eVJlc3BvbnNlQXJlYUhlaWdodCIsImluc3RhbmNlSWQiLCJpc0RyYWdnaW5nIiwiY2hvaWNlSWQiLCJpZCIsImNob2ljZSIsImNob2ljZXMiLCJmaW5kIiwiYyIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJjb25jYXQiLCJ0eXBlIiwiY29ycmVjdCIsIm5ld0RhdGEiLCJ1bmRlZmluZWQiLCJEcmFnSW5UaGVCbGFuayIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiZXZlbnQiLCJfYWN0aXZlJGRhdGEiLCJhY3RpdmUiLCJjdXJyZW50Iiwic2V0U3RhdGUiLCJhY3RpdmVEcmFnSXRlbSIsInN0YXRlIiwiX2Ryb3BEYXRhJGFjY2VwdHMiLCJvdmVyIiwiX3RoaXMkcHJvcHMiLCJ2YWx1ZSIsImRyYWdnZWREYXRhIiwiZHJvcERhdGEiLCJhY2NlcHRzIiwiaW5jbHVkZXMiLCJkcmFnZ2VkSXRlbSIsInRhcmdldElkIiwidG9DaG9pY2VCb2FyZCIsImZyb21DaG9pY2UiLCJuZXdWYWx1ZSIsImNob2ljZVBvc2l0aW9uIiwiZmxleERpcmVjdGlvbiIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwicmVuZGVyIiwiX3RoaXMyIiwiX3RoaXMkcHJvcHMyIiwibWFya3VwIiwiY2hvaWNlc1Bvc2l0aW9uIiwibGF5b3V0Iiwic3R5bGUiLCJkaXNwbGF5IiwibWluV2lkdGgiLCJnZXRQb3NpdGlvbkRpcmVjdGlvbiIsIkRyYWdQcm92aWRlciIsIm9uRHJhZ1N0YXJ0IiwiaGFuZGxlRHJhZ1N0YXJ0Iiwib25EcmFnRW5kIiwiaGFuZGxlRHJhZ0VuZCIsImNvbGxpc2lvbkRldGVjdGlvbiIsImNsb3Nlc3RDZW50ZXIiLCJyZWYiLCJyb290UmVmIiwiZWxlbWVudFR5cGUiLCJEcmFnT3ZlcmxheSIsInBvaW50ZXJFdmVudHMiLCJyZW5kZXJEcmFnT3ZlcmxheSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib2JqZWN0IiwiYXJyYXkiLCJmdW5jIiwiYm9vbCIsIm9uZU9mVHlwZSIsIm51bWJlciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kcmFnLWluLXRoZS1ibGFuay5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBEcmFnUHJvdmlkZXIgfSBmcm9tICdAcGllLWxpYi9kcmFnJztcbmltcG9ydCB7IERyYWdPdmVybGF5LCBjbG9zZXN0Q2VudGVyIH0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5cbmltcG9ydCBDaG9pY2VzIGZyb20gJy4vY2hvaWNlcyc7XG5pbXBvcnQgQ2hvaWNlIGZyb20gJy4vY2hvaWNlcy9jaG9pY2UnO1xuaW1wb3J0IEJsYW5rIGZyb20gJy4vY29tcG9uZW50cy9ibGFuayc7XG5pbXBvcnQgeyB3aXRoTWFzayB9IGZyb20gJy4vd2l0aC1tYXNrJztcblxuY29uc3QgTWFza2VkID0gd2l0aE1hc2soJ2JsYW5rJywgKHByb3BzKSA9PiAobm9kZSwgZGF0YSwgb25DaGFuZ2UpID0+IHtcbiAgY29uc3QgZGF0YXNldCA9IG5vZGUuZGF0YT8uZGF0YXNldCB8fCB7fTtcbiAgaWYgKGRhdGFzZXQuY29tcG9uZW50ID09PSAnYmxhbmsnKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L3Byb3AtdHlwZXNcbiAgICBjb25zdCB7XG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGR1cGxpY2F0ZXMsXG4gICAgICBjb3JyZWN0UmVzcG9uc2UsXG4gICAgICBmZWVkYmFjayxcbiAgICAgIHNob3dDb3JyZWN0QW5zd2VyLFxuICAgICAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aCxcbiAgICAgIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0LFxuICAgICAgaW5zdGFuY2VJZCxcbiAgICAgIGlzRHJhZ2dpbmcsXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNob2ljZUlkID0gc2hvd0NvcnJlY3RBbnN3ZXIgPyBjb3JyZWN0UmVzcG9uc2VbZGF0YXNldC5pZF0gOiBkYXRhW2RhdGFzZXQuaWRdO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9wcm9wLXR5cGVzXG4gICAgY29uc3QgY2hvaWNlID0gY2hvaWNlSWQgJiYgcHJvcHMuY2hvaWNlcy5maW5kKChjKSA9PiBjLmlkID09PSBjaG9pY2VJZCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEJsYW5rXG4gICAgICAgIGtleT17YCR7bm9kZS50eXBlfS0ke2RhdGFzZXQuaWR9YH1cbiAgICAgICAgY29ycmVjdD17c2hvd0NvcnJlY3RBbnN3ZXIgfHwgKGZlZWRiYWNrICYmIGZlZWRiYWNrW2RhdGFzZXQuaWRdKX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBkdXBsaWNhdGVzPXtkdXBsaWNhdGVzfVxuICAgICAgICBjaG9pY2U9e2Nob2ljZX1cbiAgICAgICAgaWQ9e2RhdGFzZXQuaWR9XG4gICAgICAgIGVtcHR5UmVzcG9uc2VBcmVhV2lkdGg9e2VtcHR5UmVzcG9uc2VBcmVhV2lkdGh9XG4gICAgICAgIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0PXtlbXB0eVJlc3BvbnNlQXJlYUhlaWdodH1cbiAgICAgICAgb25DaGFuZ2U9eyhpZCwgY2hvaWNlSWQpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdEYXRhID0geyAuLi5kYXRhIH07XG4gICAgICAgICAgaWYgKGNob2ljZUlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBuZXdEYXRhW2lkXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3RGF0YVtpZF0gPSBjaG9pY2VJZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgb25DaGFuZ2UobmV3RGF0YSk7XG4gICAgICAgIH19XG4gICAgICAgIGluc3RhbmNlSWQ9e2luc3RhbmNlSWR9XG4gICAgICAgIGlzRHJhZ2dpbmc9e2lzRHJhZ2dpbmd9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcmFnSW5UaGVCbGFuayBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBhY3RpdmVEcmFnSXRlbTogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtYXJrdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGF5b3V0OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNob2ljZXNQb3NpdGlvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjaG9pY2VzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgdmFsdWU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIGR1cGxpY2F0ZXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBmZWVkYmFjazogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjb3JyZWN0UmVzcG9uc2U6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgc2hvd0NvcnJlY3RBbnN3ZXI6IFByb3BUeXBlcy5ib29sLFxuICAgIGVtcHR5UmVzcG9uc2VBcmVhV2lkdGg6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5udW1iZXJdKSxcbiAgICBlbXB0eVJlc3BvbnNlQXJlYUhlaWdodDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIGluc3RhbmNlSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBpbnN0YW5jZUlkOiAnZHJhZy1pbi10aGUtYmxhbmsnLFxuICB9O1xuXG4gIGhhbmRsZURyYWdTdGFydCA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aXZlIH0gPSBldmVudDtcblxuICAgIGlmIChhY3RpdmU/LmRhdGE/LmN1cnJlbnQpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBhY3RpdmVEcmFnSXRlbTogYWN0aXZlLmRhdGEuY3VycmVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXJEcmFnT3ZlcmxheSA9ICgpID0+IHtcbiAgICBjb25zdCB7IGFjdGl2ZURyYWdJdGVtIH0gPSB0aGlzLnN0YXRlO1xuICAgIGlmICghYWN0aXZlRHJhZ0l0ZW0pIHJldHVybiBudWxsO1xuXG4gICAgaWYgKGFjdGl2ZURyYWdJdGVtLnR5cGUgPT09ICdNYXNrQmxhbmsnKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Q2hvaWNlXG4gICAgICAgICAgZGlzYWJsZWQ9e2FjdGl2ZURyYWdJdGVtLmRpc2FibGVkfVxuICAgICAgICAgIGNob2ljZT17YWN0aXZlRHJhZ0l0ZW0uY2hvaWNlfVxuICAgICAgICAgIGluc3RhbmNlSWQ9e2FjdGl2ZURyYWdJdGVtLmluc3RhbmNlSWR9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGhhbmRsZURyYWdFbmQgPSAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB7IGFjdGl2ZSwgb3ZlciB9ID0gZXZlbnQ7XG4gICAgY29uc3QgeyBvbkNoYW5nZSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBBbHdheXMgcmVzZXQgdGhlIGFjdGl2ZSBkcmFnIGl0ZW0gc3RhdGUsIGV2ZW4gaWYgZHJvcCBpcyBpbnZhbGlkXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGFjdGl2ZURyYWdJdGVtOiBudWxsIH0pO1xuXG4gICAgaWYgKCFvdmVyIHx8ICFhY3RpdmUgfHwgIW9uQ2hhbmdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHJhZ2dlZERhdGEgPSBhY3RpdmUuZGF0YS5jdXJyZW50O1xuICAgIGNvbnN0IGRyb3BEYXRhID0gb3Zlci5kYXRhLmN1cnJlbnQ7XG5cbiAgICBpZiAoZHJhZ2dlZERhdGE/LnR5cGUgPT09ICdNYXNrQmxhbmsnICYmIGRyb3BEYXRhPy5hY2NlcHRzPy5pbmNsdWRlcygnTWFza0JsYW5rJykpIHtcbiAgICAgIGNvbnN0IGRyYWdnZWRJdGVtID0gZHJhZ2dlZERhdGE7XG4gICAgICBjb25zdCB0YXJnZXRJZCA9IGRyb3BEYXRhLmlkO1xuXG4gICAgICBpZiAoZHJvcERhdGEudG9DaG9pY2VCb2FyZCA9PT0gdHJ1ZSkge1xuICAgICAgICBpZiAoIWRyYWdnZWRJdGVtLmZyb21DaG9pY2UgJiYgZHJhZ2dlZEl0ZW0uaWQpIHtcbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHsgLi4udmFsdWUgfTtcbiAgICAgICAgICBkZWxldGUgbmV3VmFsdWVbZHJhZ2dlZEl0ZW0uaWRdO1xuICAgICAgICAgIG9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkcmFnZ2VkSXRlbS5mcm9tQ2hvaWNlID09PSB0cnVlKSB7XG4gICAgICAgIGlmICh0YXJnZXRJZCAmJiB0YXJnZXRJZCAhPT0gJ2RyYWctaW4tdGhlLWJsYW5rLWRyb3BwYWJsZScpIHtcbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHsgLi4udmFsdWUgfTtcbiAgICAgICAgICBuZXdWYWx1ZVt0YXJnZXRJZF0gPSBkcmFnZ2VkSXRlbS5jaG9pY2UuaWQ7XG4gICAgICAgICAgb25DaGFuZ2UobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRyYWdnZWRJdGVtLmlkICYmIGRyYWdnZWRJdGVtLmlkICE9PSB0YXJnZXRJZCkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHsgLi4udmFsdWUgfTtcbiAgICAgICAgbmV3VmFsdWVbdGFyZ2V0SWRdID0gZHJhZ2dlZEl0ZW0uY2hvaWNlLmlkO1xuICAgICAgICBkZWxldGUgbmV3VmFsdWVbZHJhZ2dlZEl0ZW0uaWRdO1xuICAgICAgICBvbkNoYW5nZShuZXdWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGdldFBvc2l0aW9uRGlyZWN0aW9uID0gKGNob2ljZVBvc2l0aW9uKSA9PiB7XG4gICAgbGV0IGZsZXhEaXJlY3Rpb247XG4gICAgbGV0IGp1c3RpZnlDb250ZW50O1xuICAgIGxldCBhbGlnbkl0ZW1zO1xuXG4gICAgc3dpdGNoIChjaG9pY2VQb3NpdGlvbikge1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIGZsZXhEaXJlY3Rpb24gPSAncm93JztcbiAgICAgICAgYWxpZ25JdGVtcyA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdyb3ctcmV2ZXJzZSc7XG4gICAgICAgIGp1c3RpZnlDb250ZW50ID0gJ2ZsZXgtZW5kJztcbiAgICAgICAgYWxpZ25JdGVtcyA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JlbG93JzpcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdjb2x1bW4tcmV2ZXJzZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gYWJvdmVcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdjb2x1bW4nO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4geyBmbGV4RGlyZWN0aW9uLCBqdXN0aWZ5Q29udGVudCwgYWxpZ25JdGVtcyB9O1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBtYXJrdXAsXG4gICAgICBkdXBsaWNhdGVzLFxuICAgICAgdmFsdWUsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGNob2ljZXNQb3NpdGlvbixcbiAgICAgIGNob2ljZXMsXG4gICAgICBjb3JyZWN0UmVzcG9uc2UsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGZlZWRiYWNrLFxuICAgICAgc2hvd0NvcnJlY3RBbnN3ZXIsXG4gICAgICBlbXB0eVJlc3BvbnNlQXJlYVdpZHRoLFxuICAgICAgZW1wdHlSZXNwb25zZUFyZWFIZWlnaHQsXG4gICAgICBsYXlvdXQsXG4gICAgICBpbnN0YW5jZUlkLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgY2hvaWNlUG9zaXRpb24gPSBjaG9pY2VzUG9zaXRpb24gfHwgJ2JlbG93JztcbiAgICBjb25zdCBzdHlsZSA9IHsgZGlzcGxheTogJ2ZsZXgnLCBtaW5XaWR0aDogJzEwMHB4JywgLi4udGhpcy5nZXRQb3NpdGlvbkRpcmVjdGlvbihjaG9pY2VQb3NpdGlvbikgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RHJhZ1Byb3ZpZGVyXG4gICAgICAgIG9uRHJhZ1N0YXJ0PXt0aGlzLmhhbmRsZURyYWdTdGFydH1cbiAgICAgICAgb25EcmFnRW5kPXt0aGlzLmhhbmRsZURyYWdFbmR9XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgID5cbiAgICAgICAgPGRpdiByZWY9eyhyZWYpID0+ICh0aGlzLnJvb3RSZWYgPSByZWYpfSBzdHlsZT17c3R5bGV9PlxuICAgICAgICAgIDxDaG9pY2VzXG4gICAgICAgICAgICBjaG9pY2VQb3NpdGlvbj17Y2hvaWNlUG9zaXRpb259XG4gICAgICAgICAgICBjaG9pY2VzPXtjaG9pY2VzfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgZHVwbGljYXRlcz17ZHVwbGljYXRlc31cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGluc3RhbmNlSWQ9e2luc3RhbmNlSWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8TWFza2VkXG4gICAgICAgICAgICBlbGVtZW50VHlwZT1cImRyYWctaW4tdGhlLWJsYW5rXCJcbiAgICAgICAgICAgIG1hcmt1cD17bWFya3VwfVxuICAgICAgICAgICAgbGF5b3V0PXtsYXlvdXR9XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICBjaG9pY2VzPXtjaG9pY2VzfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgZHVwbGljYXRlcz17ZHVwbGljYXRlc31cbiAgICAgICAgICAgIGZlZWRiYWNrPXtmZWVkYmFja31cbiAgICAgICAgICAgIGNvcnJlY3RSZXNwb25zZT17Y29ycmVjdFJlc3BvbnNlfVxuICAgICAgICAgICAgc2hvd0NvcnJlY3RBbnN3ZXI9e3Nob3dDb3JyZWN0QW5zd2VyfVxuICAgICAgICAgICAgZW1wdHlSZXNwb25zZUFyZWFXaWR0aD17ZW1wdHlSZXNwb25zZUFyZWFXaWR0aH1cbiAgICAgICAgICAgIGVtcHR5UmVzcG9uc2VBcmVhSGVpZ2h0PXtlbXB0eVJlc3BvbnNlQXJlYUhlaWdodH1cbiAgICAgICAgICAgIGluc3RhbmNlSWQ9e2luc3RhbmNlSWR9XG4gICAgICAgICAgICBpc0RyYWdnaW5nPXshIXRoaXMuc3RhdGUuYWN0aXZlRHJhZ0l0ZW19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8RHJhZ092ZXJsYXkgc3R5bGU9e3sgcG9pbnRlckV2ZW50czogJ25vbmUnIH19Pnt0aGlzLnJlbmRlckRyYWdPdmVybGF5KCl9PC9EcmFnT3ZlcmxheT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0RyYWdQcm92aWRlcj5cbiAgICApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxRQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxTQUFB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LFFBQVEsRUFBRUEsUUFBUztRQUNuQkQsZUFBZSxFQUFFQSxlQUFnQjtRQUNqQ0UsaUJBQWlCLEVBQUVBLGlCQUFrQjtRQUNyQ0Msc0JBQXNCLEVBQUVBLHNCQUF1QjtRQUMvQ0MsdUJBQXVCLEVBQUVBLHVCQUF3QjtRQUNqREMsVUFBVSxFQUFFQSxVQUFXO1FBQ3ZCQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQ3lCLEtBQUssQ0FBQ0Q7TUFBZSxDQUN6QyxDQUFDLGVBQ0ZuRixNQUFBLFlBQUFrRSxhQUFBLENBQUM3RCxLQUFBLENBQUF1SCxXQUFXO1FBQUNkLEtBQUssRUFBRTtVQUFFZSxhQUFhLEVBQUU7UUFBTztNQUFFLEdBQUUsSUFBSSxDQUFDQyxpQkFBaUIsQ0FBQyxDQUFlLENBQ25GLENBQ08sQ0FBQztJQUVuQjtFQUFDO0FBQUEsRUFuTHlDQyxpQkFBSyxDQUFDQyxTQUFTO0FBQUEsSUFBQTFGLGdCQUFBLGFBQXRDbUMsY0FBYyxlQVFkO0VBQ2pCa0MsTUFBTSxFQUFFc0IscUJBQVMsQ0FBQ0MsTUFBTTtFQUN4QnJCLE1BQU0sRUFBRW9CLHFCQUFTLENBQUNFLE1BQU07RUFDeEJ2QixlQUFlLEVBQUVxQixxQkFBUyxDQUFDQyxNQUFNO0VBQ2pDbkUsT0FBTyxFQUFFa0UscUJBQVMsQ0FBQ0csS0FBSztFQUN4QjVDLEtBQUssRUFBRXlDLHFCQUFTLENBQUNFLE1BQU07RUFDdkJwRixRQUFRLEVBQUVrRixxQkFBUyxDQUFDSSxJQUFJO0VBQ3hCakYsVUFBVSxFQUFFNkUscUJBQVMsQ0FBQ0ssSUFBSTtFQUMxQm5GLFFBQVEsRUFBRThFLHFCQUFTLENBQUNLLElBQUk7RUFDeEJoRixRQUFRLEVBQUUyRSxxQkFBUyxDQUFDRSxNQUFNO0VBQzFCOUUsZUFBZSxFQUFFNEUscUJBQVMsQ0FBQ0UsTUFBTTtFQUNqQzVFLGlCQUFpQixFQUFFMEUscUJBQVMsQ0FBQ0ssSUFBSTtFQUNqQzlFLHNCQUFzQixFQUFFeUUscUJBQVMsQ0FBQ00sU0FBUyxDQUFDLENBQUNOLHFCQUFTLENBQUNDLE1BQU0sRUFBRUQscUJBQVMsQ0FBQ08sTUFBTSxDQUFDLENBQUM7RUFDakYvRSx1QkFBdUIsRUFBRXdFLHFCQUFTLENBQUNNLFNBQVMsQ0FBQyxDQUFDTixxQkFBUyxDQUFDQyxNQUFNLEVBQUVELHFCQUFTLENBQUNPLE1BQU0sQ0FBQyxDQUFDO0VBQ2xGOUUsVUFBVSxFQUFFdUUscUJBQVMsQ0FBQ0M7QUFDeEIsQ0FBQztBQUFBLElBQUE1RixnQkFBQSxhQXZCa0JtQyxjQUFjLGtCQXlCWDtFQUNwQmYsVUFBVSxFQUFFO0FBQ2QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
253
+ //# sourceMappingURL=drag-in-the-blank.js.map