@pie-lib/editable-html 11.1.1 → 11.3.0-beta.0

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 (194) hide show
  1. package/CHANGELOG.md +8 -4
  2. package/NEXT.CHANGELOG.json +1 -0
  3. package/lib/__tests__/editor.test.js +470 -0
  4. package/lib/__tests__/serialization.test.js +246 -0
  5. package/lib/__tests__/utils.js +106 -0
  6. package/lib/block-tags.js +25 -0
  7. package/lib/constants.js +16 -0
  8. package/lib/editor.js +349 -88
  9. package/lib/index.js +26 -10
  10. package/lib/parse-html.js +1 -1
  11. package/lib/plugins/characters/custom-popper.js +1 -1
  12. package/lib/plugins/characters/index.js +9 -4
  13. package/lib/plugins/characters/utils.js +13 -13
  14. package/lib/plugins/css/icons/index.js +37 -0
  15. package/lib/plugins/css/index.js +397 -0
  16. package/lib/plugins/customPlugin/index.js +114 -0
  17. package/lib/plugins/html/icons/index.js +1 -1
  18. package/lib/plugins/html/index.js +12 -8
  19. package/lib/plugins/image/__tests__/component.test.js +51 -0
  20. package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +56 -0
  21. package/lib/plugins/image/__tests__/image-toolbar.test.js +26 -0
  22. package/lib/plugins/image/__tests__/index.test.js +98 -0
  23. package/lib/plugins/image/__tests__/insert-image-handler.test.js +125 -0
  24. package/lib/plugins/image/__tests__/mock-change.js +25 -0
  25. package/lib/plugins/image/alt-dialog.js +1 -1
  26. package/lib/plugins/image/component.js +1 -1
  27. package/lib/plugins/image/image-toolbar.js +1 -1
  28. package/lib/plugins/image/index.js +3 -2
  29. package/lib/plugins/image/insert-image-handler.js +14 -5
  30. package/lib/plugins/index.js +271 -12
  31. package/lib/plugins/list/__tests__/index.test.js +79 -0
  32. package/lib/plugins/list/index.js +131 -1
  33. package/lib/plugins/math/__tests__/index.test.js +300 -0
  34. package/lib/plugins/math/index.js +92 -57
  35. package/lib/plugins/media/__tests__/index.test.js +71 -0
  36. package/lib/plugins/media/index.js +6 -3
  37. package/lib/plugins/media/media-dialog.js +99 -58
  38. package/lib/plugins/media/media-toolbar.js +1 -1
  39. package/lib/plugins/media/media-wrapper.js +1 -1
  40. package/lib/plugins/rendering/index.js +46 -0
  41. package/lib/plugins/respArea/drag-in-the-blank/choice.js +6 -3
  42. package/lib/plugins/respArea/drag-in-the-blank/index.js +1 -1
  43. package/lib/plugins/respArea/explicit-constructed-response/index.js +12 -10
  44. package/lib/plugins/respArea/icons/index.js +1 -1
  45. package/lib/plugins/respArea/index.js +70 -22
  46. package/lib/plugins/respArea/inline-dropdown/index.js +11 -6
  47. package/lib/plugins/respArea/math-templated/index.js +130 -0
  48. package/lib/plugins/respArea/utils.js +17 -2
  49. package/lib/plugins/table/CustomTablePlugin.js +133 -0
  50. package/lib/plugins/table/__tests__/index.test.js +442 -0
  51. package/lib/plugins/table/__tests__/table-toolbar.test.js +54 -0
  52. package/lib/plugins/table/icons/index.js +1 -1
  53. package/lib/plugins/table/index.js +44 -60
  54. package/lib/plugins/table/table-toolbar.js +34 -5
  55. package/lib/plugins/textAlign/icons/index.js +226 -0
  56. package/lib/plugins/textAlign/index.js +34 -0
  57. package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +128 -0
  58. package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +51 -0
  59. package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +54 -0
  60. package/lib/plugins/toolbar/__tests__/toolbar.test.js +120 -0
  61. package/lib/plugins/toolbar/default-toolbar.js +83 -28
  62. package/lib/plugins/toolbar/done-button.js +6 -3
  63. package/lib/plugins/toolbar/editor-and-toolbar.js +19 -20
  64. package/lib/plugins/toolbar/index.js +1 -1
  65. package/lib/plugins/toolbar/toolbar-buttons.js +45 -12
  66. package/lib/plugins/toolbar/toolbar.js +36 -12
  67. package/lib/plugins/utils.js +1 -1
  68. package/lib/serialization.js +234 -45
  69. package/lib/theme.js +1 -1
  70. package/package.json +6 -6
  71. package/src/__tests__/editor.test.jsx +363 -0
  72. package/src/__tests__/serialization.test.js +291 -0
  73. package/src/__tests__/utils.js +36 -0
  74. package/src/block-tags.js +17 -0
  75. package/src/constants.js +7 -0
  76. package/src/editor.jsx +303 -49
  77. package/src/index.jsx +19 -10
  78. package/src/plugins/characters/index.jsx +11 -3
  79. package/src/plugins/characters/utils.js +12 -12
  80. package/src/plugins/css/icons/index.jsx +17 -0
  81. package/src/plugins/css/index.jsx +346 -0
  82. package/src/plugins/customPlugin/index.jsx +85 -0
  83. package/src/plugins/html/index.jsx +9 -6
  84. package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +51 -0
  85. package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +27 -0
  86. package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +44 -0
  87. package/src/plugins/image/__tests__/component.test.jsx +41 -0
  88. package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +42 -0
  89. package/src/plugins/image/__tests__/image-toolbar.test.jsx +11 -0
  90. package/src/plugins/image/__tests__/index.test.js +95 -0
  91. package/src/plugins/image/__tests__/insert-image-handler.test.js +113 -0
  92. package/src/plugins/image/__tests__/mock-change.js +15 -0
  93. package/src/plugins/image/index.jsx +2 -1
  94. package/src/plugins/image/insert-image-handler.js +13 -6
  95. package/src/plugins/index.jsx +248 -5
  96. package/src/plugins/list/__tests__/index.test.js +54 -0
  97. package/src/plugins/list/index.jsx +130 -0
  98. package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +48 -0
  99. package/src/plugins/math/__tests__/index.test.jsx +245 -0
  100. package/src/plugins/math/index.jsx +87 -56
  101. package/src/plugins/media/__tests__/index.test.js +75 -0
  102. package/src/plugins/media/index.jsx +3 -2
  103. package/src/plugins/media/media-dialog.js +106 -57
  104. package/src/plugins/rendering/index.js +31 -0
  105. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +4 -1
  106. package/src/plugins/respArea/explicit-constructed-response/index.jsx +10 -8
  107. package/src/plugins/respArea/index.jsx +53 -7
  108. package/src/plugins/respArea/inline-dropdown/index.jsx +13 -6
  109. package/src/plugins/respArea/math-templated/index.jsx +104 -0
  110. package/src/plugins/respArea/utils.jsx +11 -0
  111. package/src/plugins/table/CustomTablePlugin.js +113 -0
  112. package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +44 -0
  113. package/src/plugins/table/__tests__/index.test.jsx +401 -0
  114. package/src/plugins/table/__tests__/table-toolbar.test.jsx +42 -0
  115. package/src/plugins/table/index.jsx +46 -59
  116. package/src/plugins/table/table-toolbar.jsx +39 -2
  117. package/src/plugins/textAlign/icons/index.jsx +139 -0
  118. package/src/plugins/textAlign/index.jsx +23 -0
  119. package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +923 -0
  120. package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +20 -0
  121. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +36 -0
  122. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +46 -0
  123. package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +94 -0
  124. package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +37 -0
  125. package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +51 -0
  126. package/src/plugins/toolbar/__tests__/toolbar.test.jsx +106 -0
  127. package/src/plugins/toolbar/default-toolbar.jsx +80 -20
  128. package/src/plugins/toolbar/done-button.jsx +3 -1
  129. package/src/plugins/toolbar/editor-and-toolbar.jsx +18 -13
  130. package/src/plugins/toolbar/toolbar-buttons.jsx +52 -11
  131. package/src/plugins/toolbar/toolbar.jsx +31 -8
  132. package/src/serialization.jsx +213 -38
  133. package/README.md +0 -45
  134. package/deploy.sh +0 -16
  135. package/lib/editor.js.map +0 -1
  136. package/lib/index.js.map +0 -1
  137. package/lib/parse-html.js.map +0 -1
  138. package/lib/plugins/characters/custom-popper.js.map +0 -1
  139. package/lib/plugins/characters/index.js.map +0 -1
  140. package/lib/plugins/characters/utils.js.map +0 -1
  141. package/lib/plugins/html/icons/index.js.map +0 -1
  142. package/lib/plugins/html/index.js.map +0 -1
  143. package/lib/plugins/image/alt-dialog.js.map +0 -1
  144. package/lib/plugins/image/component.js.map +0 -1
  145. package/lib/plugins/image/image-toolbar.js.map +0 -1
  146. package/lib/plugins/image/index.js.map +0 -1
  147. package/lib/plugins/image/insert-image-handler.js.map +0 -1
  148. package/lib/plugins/index.js.map +0 -1
  149. package/lib/plugins/list/index.js.map +0 -1
  150. package/lib/plugins/math/index.js.map +0 -1
  151. package/lib/plugins/media/index.js.map +0 -1
  152. package/lib/plugins/media/media-dialog.js.map +0 -1
  153. package/lib/plugins/media/media-toolbar.js.map +0 -1
  154. package/lib/plugins/media/media-wrapper.js.map +0 -1
  155. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +0 -1
  156. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +0 -1
  157. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +0 -1
  158. package/lib/plugins/respArea/icons/index.js.map +0 -1
  159. package/lib/plugins/respArea/index.js.map +0 -1
  160. package/lib/plugins/respArea/inline-dropdown/index.js.map +0 -1
  161. package/lib/plugins/respArea/utils.js.map +0 -1
  162. package/lib/plugins/table/icons/index.js.map +0 -1
  163. package/lib/plugins/table/index.js.map +0 -1
  164. package/lib/plugins/table/table-toolbar.js.map +0 -1
  165. package/lib/plugins/toolbar/default-toolbar.js.map +0 -1
  166. package/lib/plugins/toolbar/done-button.js.map +0 -1
  167. package/lib/plugins/toolbar/editor-and-toolbar.js.map +0 -1
  168. package/lib/plugins/toolbar/index.js.map +0 -1
  169. package/lib/plugins/toolbar/toolbar-buttons.js.map +0 -1
  170. package/lib/plugins/toolbar/toolbar.js.map +0 -1
  171. package/lib/plugins/utils.js.map +0 -1
  172. package/lib/serialization.js.map +0 -1
  173. package/lib/theme.js.map +0 -1
  174. package/playground/image/data.js +0 -59
  175. package/playground/image/index.html +0 -22
  176. package/playground/image/index.jsx +0 -81
  177. package/playground/index.html +0 -25
  178. package/playground/mathquill/index.html +0 -22
  179. package/playground/mathquill/index.jsx +0 -155
  180. package/playground/package.json +0 -15
  181. package/playground/prod-test/index.html +0 -22
  182. package/playground/prod-test/index.jsx +0 -28
  183. package/playground/schema-override/data.js +0 -29
  184. package/playground/schema-override/image-plugin.jsx +0 -41
  185. package/playground/schema-override/index.html +0 -21
  186. package/playground/schema-override/index.jsx +0 -97
  187. package/playground/serialization/data.js +0 -29
  188. package/playground/serialization/image-plugin.jsx +0 -41
  189. package/playground/serialization/index.html +0 -22
  190. package/playground/serialization/index.jsx +0 -12
  191. package/playground/static.json +0 -3
  192. package/playground/table-examples.html +0 -70
  193. package/playground/webpack.config.js +0 -42
  194. package/static.json +0 -1
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _slate = require("slate");
6
+
7
+ var _component = require("../component");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
12
+
13
+ it('renders correctly', function () {
14
+ var node = _slate.Block.fromJSON({
15
+ type: 'image',
16
+ data: _slate.Data.create({
17
+ width: 50,
18
+ height: 50
19
+ })
20
+ });
21
+
22
+ var editor = {
23
+ value: {},
24
+ change: jest.fn()
25
+ };
26
+ var onDelete = jest.fn();
27
+ var classes = {
28
+ active: 'active',
29
+ loading: 'loading',
30
+ pendingDelete: 'pendingDelete'
31
+ };
32
+
33
+ var tree = _reactTestRenderer["default"].create( /*#__PURE__*/_react["default"].createElement(_component.Component, {
34
+ node: node,
35
+ editor: editor,
36
+ classes: classes,
37
+ onDelete: onDelete
38
+ }), {
39
+ createNodeMock: function createNodeMock(el) {
40
+ if (el.type === 'img') {
41
+ return {
42
+ naturalWidth: 100,
43
+ naturalHeight: 100
44
+ };
45
+ }
46
+ }
47
+ }).toJSON();
48
+
49
+ expect(tree).toMatchSnapshot();
50
+ });
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9jb21wb25lbnQudGVzdC5qc3giXSwibmFtZXMiOlsiaXQiLCJub2RlIiwiQmxvY2siLCJmcm9tSlNPTiIsInR5cGUiLCJkYXRhIiwiRGF0YSIsImNyZWF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiZWRpdG9yIiwidmFsdWUiLCJjaGFuZ2UiLCJqZXN0IiwiZm4iLCJvbkRlbGV0ZSIsImNsYXNzZXMiLCJhY3RpdmUiLCJsb2FkaW5nIiwicGVuZGluZ0RlbGV0ZSIsInRyZWUiLCJyZW5kZXJlciIsImNyZWF0ZU5vZGVNb2NrIiwiZWwiLCJuYXR1cmFsV2lkdGgiLCJuYXR1cmFsSGVpZ2h0IiwidG9KU09OIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUFBLEVBQUUsQ0FBQyxtQkFBRCxFQUFzQixZQUFNO0FBQzVCLE1BQU1DLElBQUksR0FBR0MsYUFBTUMsUUFBTixDQUFlO0FBQzFCQyxJQUFBQSxJQUFJLEVBQUUsT0FEb0I7QUFFMUJDLElBQUFBLElBQUksRUFBRUMsWUFBS0MsTUFBTCxDQUFZO0FBQ2hCQyxNQUFBQSxLQUFLLEVBQUUsRUFEUztBQUVoQkMsTUFBQUEsTUFBTSxFQUFFO0FBRlEsS0FBWjtBQUZvQixHQUFmLENBQWI7O0FBUUEsTUFBTUMsTUFBTSxHQUFHO0FBQ2JDLElBQUFBLEtBQUssRUFBRSxFQURNO0FBRWJDLElBQUFBLE1BQU0sRUFBRUMsSUFBSSxDQUFDQyxFQUFMO0FBRkssR0FBZjtBQUtBLE1BQU1DLFFBQVEsR0FBR0YsSUFBSSxDQUFDQyxFQUFMLEVBQWpCO0FBRUEsTUFBTUUsT0FBTyxHQUFHO0FBQ2RDLElBQUFBLE1BQU0sRUFBRSxRQURNO0FBRWRDLElBQUFBLE9BQU8sRUFBRSxTQUZLO0FBR2RDLElBQUFBLGFBQWEsRUFBRTtBQUhELEdBQWhCOztBQU1BLE1BQU1DLElBQUksR0FBR0MsOEJBQ1ZkLE1BRFUsZUFDSCxnQ0FBQyxvQkFBRDtBQUFXLElBQUEsSUFBSSxFQUFFTixJQUFqQjtBQUF1QixJQUFBLE1BQU0sRUFBRVMsTUFBL0I7QUFBdUMsSUFBQSxPQUFPLEVBQUVNLE9BQWhEO0FBQXlELElBQUEsUUFBUSxFQUFFRDtBQUFuRSxJQURHLEVBQzhFO0FBQ3ZGTyxJQUFBQSxjQUFjLEVBQUUsd0JBQUNDLEVBQUQsRUFBUTtBQUN0QixVQUFJQSxFQUFFLENBQUNuQixJQUFILEtBQVksS0FBaEIsRUFBdUI7QUFDckIsZUFBTztBQUNMb0IsVUFBQUEsWUFBWSxFQUFFLEdBRFQ7QUFFTEMsVUFBQUEsYUFBYSxFQUFFO0FBRlYsU0FBUDtBQUlEO0FBQ0Y7QUFSc0YsR0FEOUUsRUFXVkMsTUFYVSxFQUFiOztBQVlBQyxFQUFBQSxNQUFNLENBQUNQLElBQUQsQ0FBTixDQUFhUSxlQUFiO0FBQ0QsQ0FuQ0MsQ0FBRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEsIEJsb2NrIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgcmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5cbml0KCdyZW5kZXJzIGNvcnJlY3RseScsICgpID0+IHtcbiAgY29uc3Qgbm9kZSA9IEJsb2NrLmZyb21KU09OKHtcbiAgICB0eXBlOiAnaW1hZ2UnLFxuICAgIGRhdGE6IERhdGEuY3JlYXRlKHtcbiAgICAgIHdpZHRoOiA1MCxcbiAgICAgIGhlaWdodDogNTAsXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IGVkaXRvciA9IHtcbiAgICB2YWx1ZToge30sXG4gICAgY2hhbmdlOiBqZXN0LmZuKCksXG4gIH07XG5cbiAgY29uc3Qgb25EZWxldGUgPSBqZXN0LmZuKCk7XG5cbiAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICBhY3RpdmU6ICdhY3RpdmUnLFxuICAgIGxvYWRpbmc6ICdsb2FkaW5nJyxcbiAgICBwZW5kaW5nRGVsZXRlOiAncGVuZGluZ0RlbGV0ZScsXG4gIH07XG5cbiAgY29uc3QgdHJlZSA9IHJlbmRlcmVyXG4gICAgLmNyZWF0ZSg8Q29tcG9uZW50IG5vZGU9e25vZGV9IGVkaXRvcj17ZWRpdG9yfSBjbGFzc2VzPXtjbGFzc2VzfSBvbkRlbGV0ZT17b25EZWxldGV9IC8+LCB7XG4gICAgICBjcmVhdGVOb2RlTW9jazogKGVsKSA9PiB7XG4gICAgICAgIGlmIChlbC50eXBlID09PSAnaW1nJykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYXR1cmFsV2lkdGg6IDEwMCxcbiAgICAgICAgICAgIG5hdHVyYWxIZWlnaHQ6IDEwMCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pXG4gICAgLnRvSlNPTigpO1xuICBleHBlY3QodHJlZSkudG9NYXRjaFNuYXBzaG90KCk7XG59KTtcbiJdfQ==
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _slate = require("slate");
10
+
11
+ var _imageToolbar = require("../image-toolbar");
12
+
13
+ var _mockChange = _interopRequireDefault(require("./mock-change"));
14
+
15
+ var _react = _interopRequireDefault(require("react"));
16
+
17
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
+
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+
21
+ describe('ImageToolbar', function () {
22
+ var onChange;
23
+ beforeEach(function () {
24
+ onChange = jest.fn();
25
+ });
26
+
27
+ var mkWrapper = function mkWrapper(extras) {
28
+ var props = _objectSpread({
29
+ onChange: onChange,
30
+ classes: {}
31
+ }, extras);
32
+
33
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_imageToolbar.ImageToolbar, props));
34
+ };
35
+
36
+ describe('onChange', function () {
37
+ it('renders', function () {
38
+ return expect(mkWrapper()).toMatchSnapshot();
39
+ });
40
+ it('calls onChange with alignment', function () {
41
+ var w = mkWrapper();
42
+ w.instance().onAlignmentClick('center');
43
+ expect(onChange).toHaveBeenCalledWith({
44
+ alignment: 'center'
45
+ });
46
+ });
47
+ it('calls onChange with alt text', function () {
48
+ var w = mkWrapper();
49
+ w.instance().onAltTextDone('alt text');
50
+ expect(onChange).toHaveBeenCalledWith({
51
+ alt: 'alt text'
52
+ }, true);
53
+ });
54
+ });
55
+ });
56
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbWFnZS10b29sYmFyLWxvZ2ljLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwib25DaGFuZ2UiLCJiZWZvcmVFYWNoIiwiamVzdCIsImZuIiwibWtXcmFwcGVyIiwiZXh0cmFzIiwicHJvcHMiLCJjbGFzc2VzIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJ3IiwiaW5zdGFuY2UiLCJvbkFsaWdubWVudENsaWNrIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJhbGlnbm1lbnQiLCJvbkFsdFRleHREb25lIiwiYWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUFBLFFBQVEsQ0FBQyxjQUFELEVBQWlCLFlBQU07QUFDN0IsTUFBSUMsUUFBSjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmRCxJQUFBQSxRQUFRLEdBQUdFLElBQUksQ0FBQ0MsRUFBTCxFQUFYO0FBQ0QsR0FGUyxDQUFWOztBQUlBLE1BQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUNDLE1BQUQsRUFBWTtBQUM1QixRQUFNQyxLQUFLO0FBQ1ROLE1BQUFBLFFBQVEsRUFBUkEsUUFEUztBQUVUTyxNQUFBQSxPQUFPLEVBQUU7QUFGQSxPQUdORixNQUhNLENBQVg7O0FBTUEsV0FBTyxtQ0FBUSxnQ0FBQywwQkFBRCxFQUFrQkMsS0FBbEIsQ0FBUixDQUFQO0FBQ0QsR0FSRDs7QUFVQVAsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCUyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQVc7QUFDdkIsYUFBT0MsTUFBTSxDQUFDTCxTQUFTLEVBQVYsQ0FBTixDQUFvQk0sZUFBcEIsRUFBUDtBQUNELEtBRkMsQ0FBRjtBQUlBRixJQUFBQSxFQUFFLENBQUMsK0JBQUQsRUFBa0MsWUFBTTtBQUN4QyxVQUFNRyxDQUFDLEdBQUdQLFNBQVMsRUFBbkI7QUFDQU8sTUFBQUEsQ0FBQyxDQUFDQyxRQUFGLEdBQWFDLGdCQUFiLENBQThCLFFBQTlCO0FBQ0FKLE1BQUFBLE1BQU0sQ0FBQ1QsUUFBRCxDQUFOLENBQWlCYyxvQkFBakIsQ0FBc0M7QUFBRUMsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBdEM7QUFDRCxLQUpDLENBQUY7QUFNQVAsSUFBQUEsRUFBRSxDQUFDLDhCQUFELEVBQWlDLFlBQU07QUFDdkMsVUFBTUcsQ0FBQyxHQUFHUCxTQUFTLEVBQW5CO0FBQ0FPLE1BQUFBLENBQUMsQ0FBQ0MsUUFBRixHQUFhSSxhQUFiLENBQTJCLFVBQTNCO0FBQ0FQLE1BQUFBLE1BQU0sQ0FBQ1QsUUFBRCxDQUFOLENBQWlCYyxvQkFBakIsQ0FBc0M7QUFBRUcsUUFBQUEsR0FBRyxFQUFFO0FBQVAsT0FBdEMsRUFBMkQsSUFBM0Q7QUFDRCxLQUpDLENBQUY7QUFLRCxHQWhCTyxDQUFSO0FBaUJELENBbENPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWd1cmUsIHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuXG5pbXBvcnQgeyBEYXRhLCBCbG9jaywgVmFsdWUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBJbWFnZVRvb2xiYXIgfSBmcm9tICcuLi9pbWFnZS10b29sYmFyJztcbmltcG9ydCBNb2NrQ2hhbmdlIGZyb20gJy4vbW9jay1jaGFuZ2UnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZGVzY3JpYmUoJ0ltYWdlVG9vbGJhcicsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICB9KTtcblxuICBjb25zdCBta1dyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgLi4uZXh0cmFzLFxuICAgIH07XG5cbiAgICByZXR1cm4gc2hhbGxvdyg8SW1hZ2VUb29sYmFyIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdvbkNoYW5nZScsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGV4cGVjdChta1dyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugd2l0aCBhbGlnbm1lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gbWtXcmFwcGVyKCk7XG4gICAgICB3Lmluc3RhbmNlKCkub25BbGlnbm1lbnRDbGljaygnY2VudGVyJyk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgYWxpZ25tZW50OiAnY2VudGVyJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIGFsdCB0ZXh0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IG1rV3JhcHBlcigpO1xuICAgICAgdy5pbnN0YW5jZSgpLm9uQWx0VGV4dERvbmUoJ2FsdCB0ZXh0Jyk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgYWx0OiAnYWx0IHRleHQnIH0sIHRydWUpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _imageToolbar = _interopRequireDefault(require("../image-toolbar"));
8
+
9
+ var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
10
+
11
+ var _slate = require("slate");
12
+
13
+ it('renders correctly', function () {
14
+ var classes = {
15
+ holder: 'holder'
16
+ };
17
+
18
+ var tree = _reactTestRenderer["default"].create( /*#__PURE__*/_react["default"].createElement(_imageToolbar["default"], {
19
+ percent: 50,
20
+ classes: classes,
21
+ onChange: jest.fn()
22
+ })).toJSON();
23
+
24
+ expect(tree).toMatchSnapshot();
25
+ });
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbWFnZS10b29sYmFyLnRlc3QuanN4Il0sIm5hbWVzIjpbIml0IiwiY2xhc3NlcyIsImhvbGRlciIsInRyZWUiLCJyZW5kZXJlciIsImNyZWF0ZSIsImplc3QiLCJmbiIsInRvSlNPTiIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBQSxFQUFFLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUM1QixNQUFNQyxPQUFPLEdBQUc7QUFBRUMsSUFBQUEsTUFBTSxFQUFFO0FBQVYsR0FBaEI7O0FBRUEsTUFBTUMsSUFBSSxHQUFHQyw4QkFBU0MsTUFBVCxlQUFnQixnQ0FBQyx3QkFBRDtBQUFTLElBQUEsT0FBTyxFQUFFLEVBQWxCO0FBQXNCLElBQUEsT0FBTyxFQUFFSixPQUEvQjtBQUF3QyxJQUFBLFFBQVEsRUFBRUssSUFBSSxDQUFDQyxFQUFMO0FBQWxELElBQWhCLEVBQWlGQyxNQUFqRixFQUFiOztBQUNBQyxFQUFBQSxNQUFNLENBQUNOLElBQUQsQ0FBTixDQUFhTyxlQUFiO0FBQ0QsQ0FMQyxDQUFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUb29sYmFyIGZyb20gJy4uL2ltYWdlLXRvb2xiYXInO1xuaW1wb3J0IHJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgRGF0YSwgQmxvY2ssIFZhbHVlIH0gZnJvbSAnc2xhdGUnO1xuXG5pdCgncmVuZGVycyBjb3JyZWN0bHknLCAoKSA9PiB7XG4gIGNvbnN0IGNsYXNzZXMgPSB7IGhvbGRlcjogJ2hvbGRlcicgfTtcblxuICBjb25zdCB0cmVlID0gcmVuZGVyZXIuY3JlYXRlKDxUb29sYmFyIHBlcmNlbnQ9ezUwfSBjbGFzc2VzPXtjbGFzc2VzfSBvbkNoYW5nZT17amVzdC5mbigpfSAvPikudG9KU09OKCk7XG4gIGV4cGVjdCh0cmVlKS50b01hdGNoU25hcHNob3QoKTtcbn0pO1xuIl19
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ var _mockChange = _interopRequireWildcard(require("./mock-change"));
8
+
9
+ var _slate = require("slate");
10
+
11
+ var _ = _interopRequireDefault(require("../"));
12
+
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+
17
+ describe('image plugin', function () {
18
+ var value = {};
19
+ var imageSupport = {
20
+ "delete": jest.fn(),
21
+ add: jest.fn()
22
+ };
23
+ var imagePlugin = (0, _["default"])({
24
+ onDelete: function onDelete(src, done) {
25
+ imageSupport["delete"](src, function (e) {
26
+ done(e, value);
27
+ });
28
+ },
29
+ insertImageRequested: function insertImageRequested(node, getHandler) {
30
+ var handler = getHandler(function () {
31
+ return value;
32
+ });
33
+ imageSupport.add(handler);
34
+ }
35
+ });
36
+ describe('normalizeNode', function () {
37
+ it('should exit the function if the node is not of type document', function () {
38
+ var returnValue = imagePlugin.normalizeNode({
39
+ object: 'image'
40
+ });
41
+ expect(returnValue).toEqual(undefined);
42
+ });
43
+ it('should exit if the function if there are no changes needed', function () {
44
+ var nodes = [{
45
+ object: 'text',
46
+ text: 'Before Image'
47
+ }, {
48
+ type: 'image'
49
+ }, {
50
+ object: 'text',
51
+ text: 'After Image'
52
+ }];
53
+ var returnValue = imagePlugin.normalizeNode({
54
+ object: 'document',
55
+ findDescendant: jest.fn(function (callback) {
56
+ nodes.forEach(function (n) {
57
+ return callback(n);
58
+ });
59
+ })
60
+ });
61
+ expect(returnValue).toEqual(undefined);
62
+ });
63
+ it('should return a function if there is a node with an empty text before an image', function () {
64
+ var nodes = [{
65
+ object: 'text',
66
+ text: '',
67
+ key: '1'
68
+ }, {
69
+ type: 'image',
70
+ key: '2'
71
+ }, {
72
+ object: 'text',
73
+ text: 'After Image',
74
+ key: '3'
75
+ }];
76
+ var findDescendant = jest.fn(function (callback) {
77
+ nodes.forEach(function (n) {
78
+ return callback(n);
79
+ });
80
+ });
81
+ var change = {
82
+ withoutNormalization: jest.fn(function (callback) {
83
+ callback();
84
+ }),
85
+ insertTextByKey: jest.fn()
86
+ };
87
+ var returnValue = imagePlugin.normalizeNode({
88
+ object: 'document',
89
+ findDescendant: findDescendant
90
+ });
91
+ expect(returnValue).toEqual(expect.any(Function));
92
+ returnValue(change);
93
+ expect(change.withoutNormalization).toHaveBeenCalledWith(expect.any(Function));
94
+ expect(change.insertTextByKey).toHaveBeenCalledWith('1', 0, ' ');
95
+ });
96
+ });
97
+ });
98
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbmRleC50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwidmFsdWUiLCJpbWFnZVN1cHBvcnQiLCJqZXN0IiwiZm4iLCJhZGQiLCJpbWFnZVBsdWdpbiIsIm9uRGVsZXRlIiwic3JjIiwiZG9uZSIsImUiLCJpbnNlcnRJbWFnZVJlcXVlc3RlZCIsIm5vZGUiLCJnZXRIYW5kbGVyIiwiaGFuZGxlciIsIml0IiwicmV0dXJuVmFsdWUiLCJub3JtYWxpemVOb2RlIiwib2JqZWN0IiwiZXhwZWN0IiwidG9FcXVhbCIsInVuZGVmaW5lZCIsIm5vZGVzIiwidGV4dCIsInR5cGUiLCJmaW5kRGVzY2VuZGFudCIsImNhbGxiYWNrIiwiZm9yRWFjaCIsIm4iLCJrZXkiLCJjaGFuZ2UiLCJ3aXRob3V0Tm9ybWFsaXphdGlvbiIsImluc2VydFRleHRCeUtleSIsImFueSIsIkZ1bmN0aW9uIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLGNBQUQsRUFBaUIsWUFBTTtBQUM3QixNQUFJQyxLQUFLLEdBQUcsRUFBWjtBQUVBLE1BQU1DLFlBQVksR0FBRztBQUNuQixjQUFRQyxJQUFJLENBQUNDLEVBQUwsRUFEVztBQUVuQkMsSUFBQUEsR0FBRyxFQUFFRixJQUFJLENBQUNDLEVBQUw7QUFGYyxHQUFyQjtBQUtBLE1BQU1FLFdBQVcsR0FBRyxrQkFBYTtBQUMvQkMsSUFBQUEsUUFBUSxFQUFFLGtCQUFDQyxHQUFELEVBQU1DLElBQU4sRUFBZTtBQUN2QlAsTUFBQUEsWUFBWSxVQUFaLENBQW9CTSxHQUFwQixFQUF5QixVQUFDRSxDQUFELEVBQU87QUFDOUJELFFBQUFBLElBQUksQ0FBQ0MsQ0FBRCxFQUFJVCxLQUFKLENBQUo7QUFDRCxPQUZEO0FBR0QsS0FMOEI7QUFNL0JVLElBQUFBLG9CQUFvQixFQUFFLDhCQUFDQyxJQUFELEVBQU9DLFVBQVAsRUFBc0I7QUFDMUMsVUFBTUMsT0FBTyxHQUFHRCxVQUFVLENBQUM7QUFBQSxlQUFNWixLQUFOO0FBQUEsT0FBRCxDQUExQjtBQUNBQyxNQUFBQSxZQUFZLENBQUNHLEdBQWIsQ0FBaUJTLE9BQWpCO0FBQ0Q7QUFUOEIsR0FBYixDQUFwQjtBQVlBZCxFQUFBQSxRQUFRLENBQUMsZUFBRCxFQUFrQixZQUFNO0FBQzlCZSxJQUFBQSxFQUFFLENBQUMsOERBQUQsRUFBaUUsWUFBTTtBQUN2RSxVQUFNQyxXQUFXLEdBQUdWLFdBQVcsQ0FBQ1csYUFBWixDQUEwQjtBQUFFQyxRQUFBQSxNQUFNLEVBQUU7QUFBVixPQUExQixDQUFwQjtBQUVBQyxNQUFBQSxNQUFNLENBQUNILFdBQUQsQ0FBTixDQUFvQkksT0FBcEIsQ0FBNEJDLFNBQTVCO0FBQ0QsS0FKQyxDQUFGO0FBTUFOLElBQUFBLEVBQUUsQ0FBQyw0REFBRCxFQUErRCxZQUFNO0FBQ3JFLFVBQU1PLEtBQUssR0FBRyxDQUNaO0FBQ0VKLFFBQUFBLE1BQU0sRUFBRSxNQURWO0FBRUVLLFFBQUFBLElBQUksRUFBRTtBQUZSLE9BRFksRUFLWjtBQUNFQyxRQUFBQSxJQUFJLEVBQUU7QUFEUixPQUxZLEVBUVo7QUFDRU4sUUFBQUEsTUFBTSxFQUFFLE1BRFY7QUFFRUssUUFBQUEsSUFBSSxFQUFFO0FBRlIsT0FSWSxDQUFkO0FBYUEsVUFBTVAsV0FBVyxHQUFHVixXQUFXLENBQUNXLGFBQVosQ0FBMEI7QUFDNUNDLFFBQUFBLE1BQU0sRUFBRSxVQURvQztBQUU1Q08sUUFBQUEsY0FBYyxFQUFFdEIsSUFBSSxDQUFDQyxFQUFMLENBQVEsVUFBQ3NCLFFBQUQsRUFBYztBQUNwQ0osVUFBQUEsS0FBSyxDQUFDSyxPQUFOLENBQWMsVUFBQ0MsQ0FBRDtBQUFBLG1CQUFPRixRQUFRLENBQUNFLENBQUQsQ0FBZjtBQUFBLFdBQWQ7QUFDRCxTQUZlO0FBRjRCLE9BQTFCLENBQXBCO0FBTUFULE1BQUFBLE1BQU0sQ0FBQ0gsV0FBRCxDQUFOLENBQW9CSSxPQUFwQixDQUE0QkMsU0FBNUI7QUFDRCxLQXJCQyxDQUFGO0FBdUJBTixJQUFBQSxFQUFFLENBQUMsZ0ZBQUQsRUFBbUYsWUFBTTtBQUN6RixVQUFNTyxLQUFLLEdBQUcsQ0FDWjtBQUNFSixRQUFBQSxNQUFNLEVBQUUsTUFEVjtBQUVFSyxRQUFBQSxJQUFJLEVBQUUsRUFGUjtBQUdFTSxRQUFBQSxHQUFHLEVBQUU7QUFIUCxPQURZLEVBTVo7QUFDRUwsUUFBQUEsSUFBSSxFQUFFLE9BRFI7QUFFRUssUUFBQUEsR0FBRyxFQUFFO0FBRlAsT0FOWSxFQVVaO0FBQ0VYLFFBQUFBLE1BQU0sRUFBRSxNQURWO0FBRUVLLFFBQUFBLElBQUksRUFBRSxhQUZSO0FBR0VNLFFBQUFBLEdBQUcsRUFBRTtBQUhQLE9BVlksQ0FBZDtBQWdCQSxVQUFNSixjQUFjLEdBQUd0QixJQUFJLENBQUNDLEVBQUwsQ0FBUSxVQUFDc0IsUUFBRCxFQUFjO0FBQzNDSixRQUFBQSxLQUFLLENBQUNLLE9BQU4sQ0FBYyxVQUFDQyxDQUFEO0FBQUEsaUJBQU9GLFFBQVEsQ0FBQ0UsQ0FBRCxDQUFmO0FBQUEsU0FBZDtBQUNELE9BRnNCLENBQXZCO0FBR0EsVUFBTUUsTUFBTSxHQUFHO0FBQ2JDLFFBQUFBLG9CQUFvQixFQUFFNUIsSUFBSSxDQUFDQyxFQUFMLENBQVEsVUFBQ3NCLFFBQUQsRUFBYztBQUMxQ0EsVUFBQUEsUUFBUTtBQUNULFNBRnFCLENBRFQ7QUFJYk0sUUFBQUEsZUFBZSxFQUFFN0IsSUFBSSxDQUFDQyxFQUFMO0FBSkosT0FBZjtBQU1BLFVBQU1ZLFdBQVcsR0FBR1YsV0FBVyxDQUFDVyxhQUFaLENBQTBCO0FBQzVDQyxRQUFBQSxNQUFNLEVBQUUsVUFEb0M7QUFFNUNPLFFBQUFBLGNBQWMsRUFBZEE7QUFGNEMsT0FBMUIsQ0FBcEI7QUFLQU4sTUFBQUEsTUFBTSxDQUFDSCxXQUFELENBQU4sQ0FBb0JJLE9BQXBCLENBQTRCRCxNQUFNLENBQUNjLEdBQVAsQ0FBV0MsUUFBWCxDQUE1QjtBQUVBbEIsTUFBQUEsV0FBVyxDQUFDYyxNQUFELENBQVg7QUFFQVgsTUFBQUEsTUFBTSxDQUFDVyxNQUFNLENBQUNDLG9CQUFSLENBQU4sQ0FBb0NJLG9CQUFwQyxDQUF5RGhCLE1BQU0sQ0FBQ2MsR0FBUCxDQUFXQyxRQUFYLENBQXpEO0FBQ0FmLE1BQUFBLE1BQU0sQ0FBQ1csTUFBTSxDQUFDRSxlQUFSLENBQU4sQ0FBK0JHLG9CQUEvQixDQUFvRCxHQUFwRCxFQUF5RCxDQUF6RCxFQUE0RCxHQUE1RDtBQUNELEtBckNDLENBQUY7QUFzQ0QsR0FwRU8sQ0FBUjtBQXFFRCxDQXpGTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1vY2tDaGFuZ2UsIHsgTW9ja0RvY3VtZW50IH0gZnJvbSAnLi9tb2NrLWNoYW5nZSc7XG5cbmltcG9ydCB7IERhdGEgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgSW1hZ2VUb29sYmFyIGZyb20gJy4uLyc7XG5cbmRlc2NyaWJlKCdpbWFnZSBwbHVnaW4nLCAoKSA9PiB7XG4gIGxldCB2YWx1ZSA9IHt9O1xuXG4gIGNvbnN0IGltYWdlU3VwcG9ydCA9IHtcbiAgICBkZWxldGU6IGplc3QuZm4oKSxcbiAgICBhZGQ6IGplc3QuZm4oKSxcbiAgfTtcblxuICBjb25zdCBpbWFnZVBsdWdpbiA9IEltYWdlVG9vbGJhcih7XG4gICAgb25EZWxldGU6IChzcmMsIGRvbmUpID0+IHtcbiAgICAgIGltYWdlU3VwcG9ydC5kZWxldGUoc3JjLCAoZSkgPT4ge1xuICAgICAgICBkb25lKGUsIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQ6IChub2RlLCBnZXRIYW5kbGVyKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVyID0gZ2V0SGFuZGxlcigoKSA9PiB2YWx1ZSk7XG4gICAgICBpbWFnZVN1cHBvcnQuYWRkKGhhbmRsZXIpO1xuICAgIH0sXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdub3JtYWxpemVOb2RlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZXhpdCB0aGUgZnVuY3Rpb24gaWYgdGhlIG5vZGUgaXMgbm90IG9mIHR5cGUgZG9jdW1lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXR1cm5WYWx1ZSA9IGltYWdlUGx1Z2luLm5vcm1hbGl6ZU5vZGUoeyBvYmplY3Q6ICdpbWFnZScgfSk7XG5cbiAgICAgIGV4cGVjdChyZXR1cm5WYWx1ZSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBleGl0IGlmIHRoZSBmdW5jdGlvbiBpZiB0aGVyZSBhcmUgbm8gY2hhbmdlcyBuZWVkZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdCZWZvcmUgSW1hZ2UnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdBZnRlciBJbWFnZScsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgcmV0dXJuVmFsdWUgPSBpbWFnZVBsdWdpbi5ub3JtYWxpemVOb2RlKHtcbiAgICAgICAgb2JqZWN0OiAnZG9jdW1lbnQnLFxuICAgICAgICBmaW5kRGVzY2VuZGFudDogamVzdC5mbigoY2FsbGJhY2spID0+IHtcbiAgICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiBjYWxsYmFjayhuKSk7XG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QocmV0dXJuVmFsdWUpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGEgZnVuY3Rpb24gaWYgdGhlcmUgaXMgYSBub2RlIHdpdGggYW4gZW1wdHkgdGV4dCBiZWZvcmUgYW4gaW1hZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgIGtleTogJzEnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgICBrZXk6ICcyJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdBZnRlciBJbWFnZScsXG4gICAgICAgICAga2V5OiAnMycsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgZmluZERlc2NlbmRhbnQgPSBqZXN0LmZuKChjYWxsYmFjaykgPT4ge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiBjYWxsYmFjayhuKSk7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGNoYW5nZSA9IHtcbiAgICAgICAgd2l0aG91dE5vcm1hbGl6YXRpb246IGplc3QuZm4oKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgfSksXG4gICAgICAgIGluc2VydFRleHRCeUtleTogamVzdC5mbigpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJldHVyblZhbHVlID0gaW1hZ2VQbHVnaW4ubm9ybWFsaXplTm9kZSh7XG4gICAgICAgIG9iamVjdDogJ2RvY3VtZW50JyxcbiAgICAgICAgZmluZERlc2NlbmRhbnQsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJldHVyblZhbHVlKS50b0VxdWFsKGV4cGVjdC5hbnkoRnVuY3Rpb24pKTtcblxuICAgICAgcmV0dXJuVmFsdWUoY2hhbmdlKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS53aXRob3V0Tm9ybWFsaXphdGlvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0LmFueShGdW5jdGlvbikpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5pbnNlcnRUZXh0QnlLZXkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCcxJywgMCwgJyAnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ var _mockChange = _interopRequireWildcard(require("./mock-change"));
8
+
9
+ var _slate = require("slate");
10
+
11
+ var _insertImageHandler = _interopRequireDefault(require("../insert-image-handler"));
12
+
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+
17
+ expect.extend({
18
+ toMatchData: function toMatchData(received, argument) {
19
+ var argData = _slate.Data.create(argument);
20
+
21
+ var pass = argData.equals(received.data);
22
+
23
+ if (pass) {
24
+ return {
25
+ message: function message() {
26
+ return "expected ".concat(received.toJSON(), " not to be divisible by ").concat(argData.toJSON());
27
+ },
28
+ pass: true
29
+ };
30
+ } else {
31
+ return {
32
+ message: function message() {
33
+ return "expected ".concat(received.toJSON(), " to be divisible by ").concat(argData.toJSON());
34
+ },
35
+ pass: false
36
+ };
37
+ }
38
+ }
39
+ });
40
+ describe('insert image handler', function () {
41
+ var _change, document, value;
42
+
43
+ beforeEach(function () {
44
+ document = new _mockChange.MockDocument();
45
+ _change = new _mockChange["default"]();
46
+ value = {
47
+ change: function change() {
48
+ return _change;
49
+ },
50
+ document: document
51
+ };
52
+ });
53
+ var block = {
54
+ key: 1
55
+ };
56
+ var onChange = jest.fn();
57
+ var handler = new _insertImageHandler["default"](block, function () {}, function () {
58
+ return value;
59
+ }, onChange);
60
+ test('it constructs', function () {
61
+ expect(handler).not.toEqual(undefined);
62
+ });
63
+ describe('fileChosen', function () {
64
+ var fileReader;
65
+ beforeEach(function () {
66
+ fileReader = {
67
+ readAsDataURL: jest.fn()
68
+ };
69
+
70
+ global.FileReader = function () {
71
+ return fileReader;
72
+ };
73
+
74
+ handler.fileChosen({});
75
+ });
76
+ test('calls readAsDataURL', function () {
77
+ expect(fileReader.readAsDataURL).toBeCalledWith({});
78
+ });
79
+ test('calls onChange with src -> dataUrl', function () {
80
+ fileReader.result = 'dataURL';
81
+ fileReader.onload();
82
+ expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
83
+ expect(_change.setNodeByKey.mock.calls[0][1]).toMatchData({
84
+ src: 'dataURL'
85
+ });
86
+ expect(onChange).toBeCalledWith(_change);
87
+ });
88
+ });
89
+ describe('progress', function () {
90
+ test('calls change w/ percent', function () {
91
+ handler.progress(40, 40, 100);
92
+ expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
93
+ expect(_change.setNodeByKey.mock.calls[0][1].data.toJS()).toMatchObject({
94
+ percent: 40
95
+ });
96
+ });
97
+ });
98
+ describe('done', function () {
99
+ test('calls setNodeByKey', function () {
100
+ handler.done(null, 'src');
101
+ expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
102
+ expect(_change.setNodeByKey.mock.calls[0][1].data.toJS()).toMatchObject({
103
+ src: 'src',
104
+ loaded: true,
105
+ percent: 100
106
+ });
107
+ });
108
+ });
109
+ describe('cancel', function () {
110
+ beforeEach(function () {
111
+ document.getChild = jest.fn().mockReturnValue({
112
+ data: _slate.Data.create({}),
113
+ key: block.key
114
+ });
115
+ handler.cancel();
116
+ });
117
+ test('calls onChange', function () {
118
+ expect(onChange).toBeCalled();
119
+ });
120
+ test('calls removeNodeByKey', function () {
121
+ expect(_change.removeNodeByKey).toBeCalledWith(block.key);
122
+ });
123
+ });
124
+ });
125
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbnNlcnQtaW1hZ2UtaGFuZGxlci50ZXN0LmpzIl0sIm5hbWVzIjpbImV4cGVjdCIsImV4dGVuZCIsInRvTWF0Y2hEYXRhIiwicmVjZWl2ZWQiLCJhcmd1bWVudCIsImFyZ0RhdGEiLCJEYXRhIiwiY3JlYXRlIiwicGFzcyIsImVxdWFscyIsImRhdGEiLCJtZXNzYWdlIiwidG9KU09OIiwiZGVzY3JpYmUiLCJjaGFuZ2UiLCJkb2N1bWVudCIsInZhbHVlIiwiYmVmb3JlRWFjaCIsIk1vY2tEb2N1bWVudCIsIk1vY2tDaGFuZ2UiLCJibG9jayIsImtleSIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwiaGFuZGxlciIsIkluc2VydEltYWdlSGFuZGxlciIsInRlc3QiLCJub3QiLCJ0b0VxdWFsIiwidW5kZWZpbmVkIiwiZmlsZVJlYWRlciIsInJlYWRBc0RhdGFVUkwiLCJnbG9iYWwiLCJGaWxlUmVhZGVyIiwiZmlsZUNob3NlbiIsInRvQmVDYWxsZWRXaXRoIiwicmVzdWx0Iiwib25sb2FkIiwic2V0Tm9kZUJ5S2V5IiwiYW55dGhpbmciLCJtb2NrIiwiY2FsbHMiLCJzcmMiLCJwcm9ncmVzcyIsInRvSlMiLCJ0b01hdGNoT2JqZWN0IiwicGVyY2VudCIsImRvbmUiLCJsb2FkZWQiLCJnZXRDaGlsZCIsIm1vY2tSZXR1cm5WYWx1ZSIsImNhbmNlbCIsInRvQmVDYWxsZWQiLCJyZW1vdmVOb2RlQnlLZXkiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7QUFFQUEsTUFBTSxDQUFDQyxNQUFQLENBQWM7QUFDWkMsRUFBQUEsV0FBVyxFQUFFLHFCQUFDQyxRQUFELEVBQVdDLFFBQVgsRUFBd0I7QUFDbkMsUUFBTUMsT0FBTyxHQUFHQyxZQUFLQyxNQUFMLENBQVlILFFBQVosQ0FBaEI7O0FBQ0EsUUFBTUksSUFBSSxHQUFHSCxPQUFPLENBQUNJLE1BQVIsQ0FBZU4sUUFBUSxDQUFDTyxJQUF4QixDQUFiOztBQUNBLFFBQUlGLElBQUosRUFBVTtBQUNSLGFBQU87QUFDTEcsUUFBQUEsT0FBTyxFQUFFO0FBQUEsb0NBQWtCUixRQUFRLENBQUNTLE1BQVQsRUFBbEIscUNBQThEUCxPQUFPLENBQUNPLE1BQVIsRUFBOUQ7QUFBQSxTQURKO0FBRUxKLFFBQUFBLElBQUksRUFBRTtBQUZELE9BQVA7QUFJRCxLQUxELE1BS087QUFDTCxhQUFPO0FBQ0xHLFFBQUFBLE9BQU8sRUFBRTtBQUFBLG9DQUFrQlIsUUFBUSxDQUFDUyxNQUFULEVBQWxCLGlDQUEwRFAsT0FBTyxDQUFDTyxNQUFSLEVBQTFEO0FBQUEsU0FESjtBQUVMSixRQUFBQSxJQUFJLEVBQUU7QUFGRCxPQUFQO0FBSUQ7QUFDRjtBQWZXLENBQWQ7QUFpQkFLLFFBQVEsQ0FBQyxzQkFBRCxFQUF5QixZQUFNO0FBQ3JDLE1BQUlDLE9BQUosRUFBWUMsUUFBWixFQUFzQkMsS0FBdEI7O0FBQ0FDLEVBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2ZGLElBQUFBLFFBQVEsR0FBRyxJQUFJRyx3QkFBSixFQUFYO0FBQ0FKLElBQUFBLE9BQU0sR0FBRyxJQUFJSyxzQkFBSixFQUFUO0FBQ0FILElBQUFBLEtBQUssR0FBRztBQUNORixNQUFBQSxNQUFNLEVBQUU7QUFBQSxlQUFNQSxPQUFOO0FBQUEsT0FERjtBQUVOQyxNQUFBQSxRQUFRLEVBQVJBO0FBRk0sS0FBUjtBQUlELEdBUFMsQ0FBVjtBQVNBLE1BQU1LLEtBQUssR0FBRztBQUFFQyxJQUFBQSxHQUFHLEVBQUU7QUFBUCxHQUFkO0FBQ0EsTUFBTUMsUUFBUSxHQUFHQyxJQUFJLENBQUNDLEVBQUwsRUFBakI7QUFFQSxNQUFNQyxPQUFPLEdBQUcsSUFBSUMsOEJBQUosQ0FDZE4sS0FEYyxFQUVkLFlBQU0sQ0FBRSxDQUZNLEVBR2Q7QUFBQSxXQUFNSixLQUFOO0FBQUEsR0FIYyxFQUlkTSxRQUpjLENBQWhCO0FBT0FLLEVBQUFBLElBQUksQ0FBQyxlQUFELEVBQWtCLFlBQU07QUFDMUIzQixJQUFBQSxNQUFNLENBQUN5QixPQUFELENBQU4sQ0FBZ0JHLEdBQWhCLENBQW9CQyxPQUFwQixDQUE0QkMsU0FBNUI7QUFDRCxHQUZHLENBQUo7QUFJQWpCLEVBQUFBLFFBQVEsQ0FBQyxZQUFELEVBQWUsWUFBTTtBQUMzQixRQUFJa0IsVUFBSjtBQUNBZCxJQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmYyxNQUFBQSxVQUFVLEdBQUc7QUFDWEMsUUFBQUEsYUFBYSxFQUFFVCxJQUFJLENBQUNDLEVBQUw7QUFESixPQUFiOztBQUlBUyxNQUFBQSxNQUFNLENBQUNDLFVBQVAsR0FBb0I7QUFBQSxlQUFNSCxVQUFOO0FBQUEsT0FBcEI7O0FBQ0FOLE1BQUFBLE9BQU8sQ0FBQ1UsVUFBUixDQUFtQixFQUFuQjtBQUNELEtBUFMsQ0FBVjtBQVNBUixJQUFBQSxJQUFJLENBQUMscUJBQUQsRUFBd0IsWUFBTTtBQUNoQzNCLE1BQUFBLE1BQU0sQ0FBQytCLFVBQVUsQ0FBQ0MsYUFBWixDQUFOLENBQWlDSSxjQUFqQyxDQUFnRCxFQUFoRDtBQUNELEtBRkcsQ0FBSjtBQUlBVCxJQUFBQSxJQUFJLENBQUMsb0NBQUQsRUFBdUMsWUFBTTtBQUMvQ0ksTUFBQUEsVUFBVSxDQUFDTSxNQUFYLEdBQW9CLFNBQXBCO0FBQ0FOLE1BQUFBLFVBQVUsQ0FBQ08sTUFBWDtBQUNBdEMsTUFBQUEsTUFBTSxDQUFDYyxPQUFNLENBQUN5QixZQUFSLENBQU4sQ0FBNEJILGNBQTVCLENBQTJDaEIsS0FBSyxDQUFDQyxHQUFqRCxFQUFzRHJCLE1BQU0sQ0FBQ3dDLFFBQVAsRUFBdEQ7QUFDQXhDLE1BQUFBLE1BQU0sQ0FBQ2MsT0FBTSxDQUFDeUIsWUFBUCxDQUFvQkUsSUFBcEIsQ0FBeUJDLEtBQXpCLENBQStCLENBQS9CLEVBQWtDLENBQWxDLENBQUQsQ0FBTixDQUE2Q3hDLFdBQTdDLENBQXlEO0FBQ3ZEeUMsUUFBQUEsR0FBRyxFQUFFO0FBRGtELE9BQXpEO0FBR0EzQyxNQUFBQSxNQUFNLENBQUNzQixRQUFELENBQU4sQ0FBaUJjLGNBQWpCLENBQWdDdEIsT0FBaEM7QUFDRCxLQVJHLENBQUo7QUFTRCxHQXhCTyxDQUFSO0FBMEJBRCxFQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekJjLElBQUFBLElBQUksQ0FBQyx5QkFBRCxFQUE0QixZQUFNO0FBQ3BDRixNQUFBQSxPQUFPLENBQUNtQixRQUFSLENBQWlCLEVBQWpCLEVBQXFCLEVBQXJCLEVBQXlCLEdBQXpCO0FBQ0E1QyxNQUFBQSxNQUFNLENBQUNjLE9BQU0sQ0FBQ3lCLFlBQVIsQ0FBTixDQUE0QkgsY0FBNUIsQ0FBMkNoQixLQUFLLENBQUNDLEdBQWpELEVBQXNEckIsTUFBTSxDQUFDd0MsUUFBUCxFQUF0RDtBQUVBeEMsTUFBQUEsTUFBTSxDQUFDYyxPQUFNLENBQUN5QixZQUFQLENBQW9CRSxJQUFwQixDQUF5QkMsS0FBekIsQ0FBK0IsQ0FBL0IsRUFBa0MsQ0FBbEMsRUFBcUNoQyxJQUFyQyxDQUEwQ21DLElBQTFDLEVBQUQsQ0FBTixDQUF5REMsYUFBekQsQ0FBdUU7QUFDckVDLFFBQUFBLE9BQU8sRUFBRTtBQUQ0RCxPQUF2RTtBQUdELEtBUEcsQ0FBSjtBQVFELEdBVE8sQ0FBUjtBQVdBbEMsRUFBQUEsUUFBUSxDQUFDLE1BQUQsRUFBUyxZQUFNO0FBQ3JCYyxJQUFBQSxJQUFJLENBQUMsb0JBQUQsRUFBdUIsWUFBTTtBQUMvQkYsTUFBQUEsT0FBTyxDQUFDdUIsSUFBUixDQUFhLElBQWIsRUFBbUIsS0FBbkI7QUFFQWhELE1BQUFBLE1BQU0sQ0FBQ2MsT0FBTSxDQUFDeUIsWUFBUixDQUFOLENBQTRCSCxjQUE1QixDQUEyQ2hCLEtBQUssQ0FBQ0MsR0FBakQsRUFBc0RyQixNQUFNLENBQUN3QyxRQUFQLEVBQXREO0FBRUF4QyxNQUFBQSxNQUFNLENBQUNjLE9BQU0sQ0FBQ3lCLFlBQVAsQ0FBb0JFLElBQXBCLENBQXlCQyxLQUF6QixDQUErQixDQUEvQixFQUFrQyxDQUFsQyxFQUFxQ2hDLElBQXJDLENBQTBDbUMsSUFBMUMsRUFBRCxDQUFOLENBQXlEQyxhQUF6RCxDQUF1RTtBQUNyRUgsUUFBQUEsR0FBRyxFQUFFLEtBRGdFO0FBRXJFTSxRQUFBQSxNQUFNLEVBQUUsSUFGNkQ7QUFHckVGLFFBQUFBLE9BQU8sRUFBRTtBQUg0RCxPQUF2RTtBQUtELEtBVkcsQ0FBSjtBQVdELEdBWk8sQ0FBUjtBQWNBbEMsRUFBQUEsUUFBUSxDQUFDLFFBQUQsRUFBVyxZQUFNO0FBQ3ZCSSxJQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmRixNQUFBQSxRQUFRLENBQUNtQyxRQUFULEdBQW9CM0IsSUFBSSxDQUFDQyxFQUFMLEdBQVUyQixlQUFWLENBQTBCO0FBQUV6QyxRQUFBQSxJQUFJLEVBQUVKLFlBQUtDLE1BQUwsQ0FBWSxFQUFaLENBQVI7QUFBeUJjLFFBQUFBLEdBQUcsRUFBRUQsS0FBSyxDQUFDQztBQUFwQyxPQUExQixDQUFwQjtBQUNBSSxNQUFBQSxPQUFPLENBQUMyQixNQUFSO0FBQ0QsS0FIUyxDQUFWO0FBS0F6QixJQUFBQSxJQUFJLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUMzQjNCLE1BQUFBLE1BQU0sQ0FBQ3NCLFFBQUQsQ0FBTixDQUFpQitCLFVBQWpCO0FBQ0QsS0FGRyxDQUFKO0FBSUExQixJQUFBQSxJQUFJLENBQUMsdUJBQUQsRUFBMEIsWUFBTTtBQUNsQzNCLE1BQUFBLE1BQU0sQ0FBQ2MsT0FBTSxDQUFDd0MsZUFBUixDQUFOLENBQStCbEIsY0FBL0IsQ0FBOENoQixLQUFLLENBQUNDLEdBQXBEO0FBQ0QsS0FGRyxDQUFKO0FBR0QsR0FiTyxDQUFSO0FBY0QsQ0ExRk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNb2NrQ2hhbmdlLCB7IE1vY2tEb2N1bWVudCB9IGZyb20gJy4vbW9jay1jaGFuZ2UnO1xuXG5pbXBvcnQgeyBEYXRhIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IEluc2VydEltYWdlSGFuZGxlciBmcm9tICcuLi9pbnNlcnQtaW1hZ2UtaGFuZGxlcic7XG5cbmV4cGVjdC5leHRlbmQoe1xuICB0b01hdGNoRGF0YTogKHJlY2VpdmVkLCBhcmd1bWVudCkgPT4ge1xuICAgIGNvbnN0IGFyZ0RhdGEgPSBEYXRhLmNyZWF0ZShhcmd1bWVudCk7XG4gICAgY29uc3QgcGFzcyA9IGFyZ0RhdGEuZXF1YWxzKHJlY2VpdmVkLmRhdGEpO1xuICAgIGlmIChwYXNzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtZXNzYWdlOiAoKSA9PiBgZXhwZWN0ZWQgJHtyZWNlaXZlZC50b0pTT04oKX0gbm90IHRvIGJlIGRpdmlzaWJsZSBieSAke2FyZ0RhdGEudG9KU09OKCl9YCxcbiAgICAgICAgcGFzczogdHJ1ZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1lc3NhZ2U6ICgpID0+IGBleHBlY3RlZCAke3JlY2VpdmVkLnRvSlNPTigpfSB0byBiZSBkaXZpc2libGUgYnkgJHthcmdEYXRhLnRvSlNPTigpfWAsXG4gICAgICAgIHBhc3M6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG4gIH0sXG59KTtcbmRlc2NyaWJlKCdpbnNlcnQgaW1hZ2UgaGFuZGxlcicsICgpID0+IHtcbiAgbGV0IGNoYW5nZSwgZG9jdW1lbnQsIHZhbHVlO1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBkb2N1bWVudCA9IG5ldyBNb2NrRG9jdW1lbnQoKTtcbiAgICBjaGFuZ2UgPSBuZXcgTW9ja0NoYW5nZSgpO1xuICAgIHZhbHVlID0ge1xuICAgICAgY2hhbmdlOiAoKSA9PiBjaGFuZ2UsXG4gICAgICBkb2N1bWVudCxcbiAgICB9O1xuICB9KTtcblxuICBjb25zdCBibG9jayA9IHsga2V5OiAxIH07XG4gIGNvbnN0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuXG4gIGNvbnN0IGhhbmRsZXIgPSBuZXcgSW5zZXJ0SW1hZ2VIYW5kbGVyKFxuICAgIGJsb2NrLFxuICAgICgpID0+IHt9LFxuICAgICgpID0+IHZhbHVlLFxuICAgIG9uQ2hhbmdlLFxuICApO1xuXG4gIHRlc3QoJ2l0IGNvbnN0cnVjdHMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGhhbmRsZXIpLm5vdC50b0VxdWFsKHVuZGVmaW5lZCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmaWxlQ2hvc2VuJywgKCkgPT4ge1xuICAgIGxldCBmaWxlUmVhZGVyO1xuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgZmlsZVJlYWRlciA9IHtcbiAgICAgICAgcmVhZEFzRGF0YVVSTDogamVzdC5mbigpLFxuICAgICAgfTtcblxuICAgICAgZ2xvYmFsLkZpbGVSZWFkZXIgPSAoKSA9PiBmaWxlUmVhZGVyO1xuICAgICAgaGFuZGxlci5maWxlQ2hvc2VuKHt9KTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2NhbGxzIHJlYWRBc0RhdGFVUkwnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKS50b0JlQ2FsbGVkV2l0aCh7fSk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdjYWxscyBvbkNoYW5nZSB3aXRoIHNyYyAtPiBkYXRhVXJsJywgKCkgPT4ge1xuICAgICAgZmlsZVJlYWRlci5yZXN1bHQgPSAnZGF0YVVSTCc7XG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZCgpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkpLnRvQmVDYWxsZWRXaXRoKGJsb2NrLmtleSwgZXhwZWN0LmFueXRoaW5nKCkpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXSkudG9NYXRjaERhdGEoe1xuICAgICAgICBzcmM6ICdkYXRhVVJMJyxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChjaGFuZ2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncHJvZ3Jlc3MnLCAoKSA9PiB7XG4gICAgdGVzdCgnY2FsbHMgY2hhbmdlIHcvIHBlcmNlbnQnLCAoKSA9PiB7XG4gICAgICBoYW5kbGVyLnByb2dyZXNzKDQwLCA0MCwgMTAwKTtcbiAgICAgIGV4cGVjdChjaGFuZ2Uuc2V0Tm9kZUJ5S2V5KS50b0JlQ2FsbGVkV2l0aChibG9jay5rZXksIGV4cGVjdC5hbnl0aGluZygpKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXS5kYXRhLnRvSlMoKSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIHBlcmNlbnQ6IDQwLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkb25lJywgKCkgPT4ge1xuICAgIHRlc3QoJ2NhbGxzIHNldE5vZGVCeUtleScsICgpID0+IHtcbiAgICAgIGhhbmRsZXIuZG9uZShudWxsLCAnc3JjJyk7XG5cbiAgICAgIGV4cGVjdChjaGFuZ2Uuc2V0Tm9kZUJ5S2V5KS50b0JlQ2FsbGVkV2l0aChibG9jay5rZXksIGV4cGVjdC5hbnl0aGluZygpKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXS5kYXRhLnRvSlMoKSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIHNyYzogJ3NyYycsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgcGVyY2VudDogMTAwLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjYW5jZWwnLCAoKSA9PiB7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBkb2N1bWVudC5nZXRDaGlsZCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyBkYXRhOiBEYXRhLmNyZWF0ZSh7fSksIGtleTogYmxvY2sua2V5IH0pO1xuICAgICAgaGFuZGxlci5jYW5jZWwoKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2NhbGxzIG9uQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdjYWxscyByZW1vdmVOb2RlQnlLZXknLCAoKSA9PiB7XG4gICAgICBleHBlY3QoY2hhbmdlLnJlbW92ZU5vZGVCeUtleSkudG9CZUNhbGxlZFdpdGgoYmxvY2sua2V5KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MockDocument = MockDocument;
7
+ exports["default"] = MockChange;
8
+
9
+ var _slate = require("slate");
10
+
11
+ function MockChange() {
12
+ this.setNodeByKey = jest.fn().mockReturnValue(this);
13
+ this.removeNodeByKey = jest.fn().mockReturnValue(this);
14
+ this.insertInline = jest.fn().mockReturnValue(this);
15
+ this.moveFocusTo = jest.fn().mockReturnValue(this);
16
+ this.moveAnchorTo = jest.fn().mockReturnValue(this);
17
+ }
18
+
19
+ function MockDocument() {
20
+ this.getChild = jest.fn().mockReturnValue({
21
+ data: _slate.Data.create({})
22
+ });
23
+ this.getDescendant = jest.fn();
24
+ }
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9tb2NrLWNoYW5nZS5qcyJdLCJuYW1lcyI6WyJNb2NrQ2hhbmdlIiwic2V0Tm9kZUJ5S2V5IiwiamVzdCIsImZuIiwibW9ja1JldHVyblZhbHVlIiwicmVtb3ZlTm9kZUJ5S2V5IiwiaW5zZXJ0SW5saW5lIiwibW92ZUZvY3VzVG8iLCJtb3ZlQW5jaG9yVG8iLCJNb2NrRG9jdW1lbnQiLCJnZXRDaGlsZCIsImRhdGEiLCJEYXRhIiwiY3JlYXRlIiwiZ2V0RGVzY2VuZGFudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFFZSxTQUFTQSxVQUFULEdBQXNCO0FBQ25DLE9BQUtDLFlBQUwsR0FBb0JDLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCLElBQTFCLENBQXBCO0FBQ0EsT0FBS0MsZUFBTCxHQUF1QkgsSUFBSSxDQUFDQyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsSUFBMUIsQ0FBdkI7QUFDQSxPQUFLRSxZQUFMLEdBQW9CSixJQUFJLENBQUNDLEVBQUwsR0FBVUMsZUFBVixDQUEwQixJQUExQixDQUFwQjtBQUNBLE9BQUtHLFdBQUwsR0FBbUJMLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCLElBQTFCLENBQW5CO0FBQ0EsT0FBS0ksWUFBTCxHQUFvQk4sSUFBSSxDQUFDQyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsSUFBMUIsQ0FBcEI7QUFDRDs7QUFFTSxTQUFTSyxZQUFULEdBQXdCO0FBQzdCLE9BQUtDLFFBQUwsR0FBZ0JSLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCO0FBQUVPLElBQUFBLElBQUksRUFBRUMsWUFBS0MsTUFBTCxDQUFZLEVBQVo7QUFBUixHQUExQixDQUFoQjtBQUVBLE9BQUtDLGFBQUwsR0FBcUJaLElBQUksQ0FBQ0MsRUFBTCxFQUFyQjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YSB9IGZyb20gJ3NsYXRlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTW9ja0NoYW5nZSgpIHtcbiAgdGhpcy5zZXROb2RlQnlLZXkgPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHRoaXMpO1xuICB0aGlzLnJlbW92ZU5vZGVCeUtleSA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUodGhpcyk7XG4gIHRoaXMuaW5zZXJ0SW5saW5lID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh0aGlzKTtcbiAgdGhpcy5tb3ZlRm9jdXNUbyA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUodGhpcyk7XG4gIHRoaXMubW92ZUFuY2hvclRvID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh0aGlzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vY2tEb2N1bWVudCgpIHtcbiAgdGhpcy5nZXRDaGlsZCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyBkYXRhOiBEYXRhLmNyZWF0ZSh7fSkgfSk7XG5cbiAgdGhpcy5nZXREZXNjZW5kYW50ID0gamVzdC5mbigpO1xufVxuIl19
@@ -126,4 +126,4 @@ exports.AltDialog = AltDialog;
126
126
  });
127
127
  var _default = AltDialog;
128
128
  exports["default"] = _default;
129
- //# sourceMappingURL=alt-dialog.js.map
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL2FsdC1kaWFsb2cuanN4Il0sIm5hbWVzIjpbIkFsdERpYWxvZyIsInByb3BzIiwiYWxsRGlhbG9ncyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJzIiwicmVtb3ZlIiwib25Eb25lIiwidmFsdWUiLCJzdGF0ZSIsImNsb3NlRGlhbG9nIiwiYm9keSIsInN0eWxlIiwicmVtb3ZlUHJvcGVydHkiLCJhbHQiLCJoYW5kbGVPdmVyZmxvdyIsImRpc3BsYXkiLCJwYWRkaW5nVG9wIiwiZXZlbnQiLCJzZXRTdGF0ZSIsInRhcmdldCIsImZvbnRTaXplIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJmdW5jIiwiaXNSZXF1aXJlZCIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0lBRWFBLFM7Ozs7O0FBTVgscUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTtBQUNqQiw4QkFBTUEsS0FBTjtBQURpQixvR0FVTCxZQUFNO0FBQ2xCLFVBQU1DLFVBQVUsR0FBR0MsUUFBUSxDQUFDQyxnQkFBVCxDQUEwQixjQUExQixDQUFuQjtBQUVBRixNQUFBQSxVQUFVLENBQUNHLE9BQVgsQ0FBbUIsVUFBU0MsQ0FBVCxFQUFZO0FBQzdCLGVBQU9BLENBQUMsQ0FBQ0MsTUFBRixFQUFQO0FBQ0QsT0FGRDtBQUdELEtBaEJrQjtBQUFBLCtGQWtCVixZQUFNO0FBQ2IsVUFBUUMsTUFBUixHQUFtQixNQUFLUCxLQUF4QixDQUFRTyxNQUFSO0FBQ0EsVUFBUUMsS0FBUixHQUFrQixNQUFLQyxLQUF2QixDQUFRRCxLQUFSO0FBRUFELE1BQUFBLE1BQU0sQ0FBQ0MsS0FBRCxDQUFOOztBQUNBLFlBQUtFLFdBQUw7QUFDRCxLQXhCa0I7QUFBQSx1R0EwQkYsWUFBTTtBQUNyQlIsTUFBQUEsUUFBUSxDQUFDUyxJQUFULENBQWNDLEtBQWQsQ0FBb0JDLGNBQXBCLENBQW1DLFVBQW5DO0FBQ0QsS0E1QmtCO0FBR2pCLFFBQVFDLEdBQVIsR0FBZ0JkLEtBQWhCLENBQVFjLEdBQVI7QUFFQSxVQUFLTCxLQUFMLEdBQWE7QUFDWEQsTUFBQUEsS0FBSyxFQUFFTTtBQURJLEtBQWI7QUFMaUI7QUFRbEI7Ozs7V0FzQkQsa0JBQVM7QUFBQTs7QUFDUCxVQUFRTixLQUFSLEdBQWtCLEtBQUtDLEtBQXZCLENBQVFELEtBQVI7QUFFQSwwQkFDRSxnQ0FBQyxrQkFBRDtBQUNFLFFBQUEsSUFBSSxNQUROO0FBRUUsUUFBQSxhQUFhLE1BRmY7QUFHRSxRQUFBLE9BQU8sRUFBRSxLQUFLRSxXQUhoQjtBQUlFLFFBQUEsRUFBRSxFQUFDLGFBSkw7QUFLRSxRQUFBLFlBQVksTUFMZDtBQU1FLFFBQUEsaUJBQWlCLE1BTm5CO0FBT0UsUUFBQSxTQUFTLEVBQUUsS0FBS0s7QUFQbEIsc0JBU0UsZ0NBQUMseUJBQUQscUJBQ0U7QUFBSyxRQUFBLEtBQUssRUFBRTtBQUFFQyxVQUFBQSxPQUFPLEVBQUU7QUFBWDtBQUFaLHNCQUNFLGdDQUFDLHdCQUFEO0FBQWMsUUFBQSxLQUFLLEVBQUU7QUFBRUMsVUFBQUEsVUFBVSxFQUFFO0FBQWQ7QUFBckIsUUFERixlQUVFLGdDQUFDLHFCQUFEO0FBQ0UsUUFBQSxTQUFTLE1BRFg7QUFFRSxRQUFBLFdBQVcsRUFBRSw2Q0FGZjtBQUdFLFFBQUEsVUFBVSxFQUNSLDBIQUpKO0FBTUUsUUFBQSxLQUFLLEVBQUVULEtBTlQ7QUFPRSxRQUFBLFFBQVEsRUFBRSxrQkFBQ1UsS0FBRDtBQUFBLGlCQUFXLE1BQUksQ0FBQ0MsUUFBTCxDQUFjO0FBQUVYLFlBQUFBLEtBQUssRUFBRVUsS0FBSyxDQUFDRSxNQUFOLENBQWFaO0FBQXRCLFdBQWQsQ0FBWDtBQUFBLFNBUFo7QUFRRSxRQUFBLG1CQUFtQixFQUFFO0FBQUVJLFVBQUFBLEtBQUssRUFBRTtBQUFFUyxZQUFBQSxRQUFRLEVBQUU7QUFBWjtBQUFUO0FBUnZCLFFBRkYsQ0FERixDQVRGLGVBd0JFLGdDQUFDLHlCQUFELHFCQUNFLGdDQUFDLGtCQUFEO0FBQVEsUUFBQSxPQUFPLEVBQUUsS0FBS2Q7QUFBdEIsZ0JBREYsQ0F4QkYsQ0FERjtBQThCRDs7O0VBckU0QmUsa0JBQU1DLFM7OztpQ0FBeEJ4QixTLGVBQ1E7QUFDakJRLEVBQUFBLE1BQU0sRUFBRWlCLHNCQUFVQyxJQUFWLENBQWVDLFVBRE47QUFFakJaLEVBQUFBLEdBQUcsRUFBRVUsc0JBQVVHO0FBRkUsQztlQXVFTjVCLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IERpYWxvZ0NvbnRlbnQgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRGlhbG9nQ29udGVudCc7XG5pbXBvcnQgQXJyb3dCYWNrSW9zIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9BcnJvd0JhY2tJb3MnO1xuaW1wb3J0IFRleHRGaWVsZCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UZXh0RmllbGQnO1xuaW1wb3J0IERpYWxvZ0FjdGlvbnMgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRGlhbG9nQWN0aW9ucyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbic7XG5pbXBvcnQgRGlhbG9nIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0RpYWxvZyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQWx0RGlhbG9nIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbkRvbmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgYWx0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgY29uc3QgeyBhbHQgfSA9IHByb3BzO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHZhbHVlOiBhbHQsXG4gICAgfTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nID0gKCkgPT4ge1xuICAgIGNvbnN0IGFsbERpYWxvZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdGV4dC1kaWFsb2cnKTtcblxuICAgIGFsbERpYWxvZ3MuZm9yRWFjaChmdW5jdGlvbihzKSB7XG4gICAgICByZXR1cm4gcy5yZW1vdmUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBvbkRvbmUgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBvbkRvbmUgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIG9uRG9uZSh2YWx1ZSk7XG4gICAgdGhpcy5jbG9zZURpYWxvZygpO1xuICB9O1xuXG4gIGhhbmRsZU92ZXJmbG93ID0gKCkgPT4ge1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ292ZXJmbG93Jyk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERpYWxvZ1xuICAgICAgICBvcGVuXG4gICAgICAgIGRpc2FibGVQb3J0YWxcbiAgICAgICAgb25DbG9zZT17dGhpcy5jbG9zZURpYWxvZ31cbiAgICAgICAgaWQ9XCJ0ZXh0LWRpYWxvZ1wiXG4gICAgICAgIGhpZGVCYWNrZHJvcFxuICAgICAgICBkaXNhYmxlU2Nyb2xsTG9ja1xuICAgICAgICBvbkVudGVyZWQ9e3RoaXMuaGFuZGxlT3ZlcmZsb3d9XG4gICAgICA+XG4gICAgICAgIDxEaWFsb2dDb250ZW50PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnIH19PlxuICAgICAgICAgICAgPEFycm93QmFja0lvcyBzdHlsZT17eyBwYWRkaW5nVG9wOiAnNnB4JyB9fSAvPlxuICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICBtdWx0aWxpbmVcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9eydFbnRlciBhbiBBbHQgVGV4dCBkZXNjcmlwdGlvbiBvZiB0aGlzIGltYWdlJ31cbiAgICAgICAgICAgICAgaGVscGVyVGV4dD17XG4gICAgICAgICAgICAgICAgJ1VzZXJzIHdpdGggdmlzdWFsIGxpbWl0YXRpb25zIHJlbHkgb24gQWx0IFRleHQsIHNpbmNlIHNjcmVlbiByZWFkZXJzIGNhbm5vdCBvdGhlcndpc2UgZGVzY3JpYmUgdGhlIGNvbnRlbnRzIG9mIGFuIGltYWdlLidcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZXZlbnQpID0+IHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlIH0pfVxuICAgICAgICAgICAgICBGb3JtSGVscGVyVGV4dFByb3BzPXt7IHN0eWxlOiB7IGZvbnRTaXplOiAxNCB9IH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0RpYWxvZ0NvbnRlbnQ+XG4gICAgICAgIDxEaWFsb2dBY3Rpb25zPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17dGhpcy5vbkRvbmV9PkRvbmU8L0J1dHRvbj5cbiAgICAgICAgPC9EaWFsb2dBY3Rpb25zPlxuICAgICAgPC9EaWFsb2c+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBbHREaWFsb2c7XG4iXX0=
@@ -416,4 +416,4 @@ var styles = function styles(theme) {
416
416
  var _default = (0, _styles.withStyles)(styles)(Component);
417
417
 
418
418
  exports["default"] = _default;
419
- //# sourceMappingURL=component.js.map
419
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL2NvbXBvbmVudC5qc3giXSwibmFtZXMiOlsibG9nIiwic2l6ZSIsInMiLCJDb21wb25lbnQiLCJwZXJjZW50IiwibXVsdGlwbGllciIsImltZyIsIm5hdHVyYWxXaWR0aCIsIm5hdHVyYWxIZWlnaHQiLCJ3aWR0aCIsImZsb29yZWQiLCJwYXJzZUludCIsInRvRml4ZWQiLCJwcm9wcyIsIm5vZGUiLCJlZGl0b3IiLCJ1cGRhdGUiLCJkYXRhIiwidyIsImdldCIsInNldCIsImdldFBlcmNlbnRGcm9tV2lkdGgiLCJlcXVhbHMiLCJjaGFuZ2UiLCJjIiwic2V0Tm9kZUJ5S2V5Iiwia2V5Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInN0YXJ0UmVzaXppbmciLCJzdG9wUmVzaXppbmciLCJtYXhJbWFnZVdpZHRoIiwibWF4SW1hZ2VIZWlnaHQiLCJib3giLCJzdHlsZSIsImRpbWVuc2lvbnMiLCJoZWlnaHQiLCJ1cGRhdGVJbWFnZURpbWVuc2lvbnMiLCJzZXRTdGF0ZSIsImUiLCJib3VuZHMiLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRYIiwibGVmdCIsImNsaWVudFkiLCJ0b3AiLCJoYXNNaW5pbXVtV2lkdGgiLCJoYXNEaW1lbnNpb25zQ29uc3RyYWludHMiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaW5pdGlhbERpbSIsIm5leHREaW0iLCJrZWVwQXNwZWN0UmF0aW8iLCJyZXNpemVUeXBlIiwiaW1hZ2VBc3BlY3RSYXRpbyIsImFwcGx5U2l6ZURhdGEiLCJyZXNpemVIYW5kbGUiLCJyZXNpemUiLCJpbml0aWFsaXNlUmVzaXplIiwib2JqZWN0Rml0IiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJvbkZvY3VzIiwiYWN0aXZlIiwidmFsdWUiLCJpc0ZvY3VzZWQiLCJzZWxlY3Rpb24iLCJoYXNFZGdlSW4iLCJzcmMiLCJsb2FkZWQiLCJkZWxldGVTdGF0dXMiLCJhbGlnbm1lbnQiLCJhbHQiLCJqdXN0aWZ5Q29udGVudCIsImdldFNpemUiLCJjbGFzc05hbWUiLCJyb290IiwibG9hZGluZyIsInBlbmRpbmdEZWxldGUiLCJwcm9ncmVzc0NsYXNzZXMiLCJwcm9ncmVzcyIsImhpZGVQcm9ncmVzcyIsImltYWdlQ29udGFpbmVyIiwiaW1hZ2UiLCJyZWYiLCJsb2FkSW1hZ2UiLCJSZWFjdCIsIlNsYXRlUHJvcFR5cGVzIiwiaXNSZXF1aXJlZCIsIlByb3BUeXBlcyIsInNoYXBlIiwiZnVuYyIsIm9iamVjdCIsIm9uQmx1ciIsIm51bWJlciIsInN0eWxlcyIsInRoZW1lIiwicG9ydGFsIiwicG9zaXRpb24iLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImZsb2F0aW5nQnV0dG9uUm93IiwiYmFja2dyb3VuZENvbG9yIiwicGFsZXR0ZSIsImJhY2tncm91bmQiLCJwYXBlciIsImJvcmRlclJhZGl1cyIsImRpc3BsYXkiLCJwYWRkaW5nIiwiYm9yZGVyIiwiZ3JleSIsImJveFNoYWRvdyIsImNvbW1vbiIsIndoaXRlIiwicmlnaHQiLCJhbGlnbkl0ZW1zIiwicHJpbWFyeSIsIm1haW4iLCJjdXJzb3IiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJkcmF3YWJsZUhlaWdodCIsIm1pbkhlaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sZ0RBQU4sQ0FBWjs7QUFFQSxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTyxDQUFDQyxDQUFEO0FBQUEsU0FBUUEsQ0FBQyxhQUFNQSxDQUFOLFVBQWMsTUFBdkI7QUFBQSxDQUFiOztJQUVhQyxTOzs7Ozs7Ozs7Ozs7Ozs7aUdBZUEsVUFBQ0MsT0FBRCxFQUFhO0FBQ3RCLFVBQU1DLFVBQVUsR0FBR0QsT0FBTyxHQUFHLEdBQTdCO0FBQ0EsYUFBTyxNQUFLRSxHQUFMLENBQVNDLFlBQVQsR0FBd0JGLFVBQS9CO0FBQ0QsSztrR0FFVyxVQUFDRCxPQUFELEVBQWE7QUFDdkIsVUFBTUMsVUFBVSxHQUFHRCxPQUFPLEdBQUcsR0FBN0I7QUFDQSxhQUFPLE1BQUtFLEdBQUwsQ0FBU0UsYUFBVCxHQUF5QkgsVUFBaEM7QUFDRCxLOzRHQUVxQixVQUFDSSxLQUFELEVBQVc7QUFDL0IsVUFBSUMsT0FBTyxHQUFJRCxLQUFLLEdBQUcsTUFBS0gsR0FBTCxDQUFTQyxZQUFsQixHQUFrQyxDQUFoRDtBQUNBLGFBQU9JLFFBQVEsQ0FBQ0QsT0FBTyxDQUFDRSxPQUFSLENBQWdCLENBQWhCLElBQXFCLEVBQXRCLEVBQTBCLEVBQTFCLENBQWY7QUFDRCxLO3NHQUVlLFlBQU07QUFDcEIsd0JBQXlCLE1BQUtDLEtBQTlCO0FBQUEsVUFBUUMsSUFBUixlQUFRQSxJQUFSO0FBQUEsVUFBY0MsTUFBZCxlQUFjQSxNQUFkO0FBRUEsVUFBSUMsTUFBTSxHQUFHRixJQUFJLENBQUNHLElBQWxCO0FBRUEsVUFBTUMsQ0FBQyxHQUFHRixNQUFNLENBQUNHLEdBQVAsQ0FBVyxPQUFYLENBQVY7O0FBQ0EsVUFBSUQsQ0FBSixFQUFPO0FBQ0xGLFFBQUFBLE1BQU0sR0FBR0EsTUFBTSxDQUFDSSxHQUFQLENBQVcsZUFBWCxFQUE0QixNQUFLQyxtQkFBTCxDQUF5QkgsQ0FBekIsQ0FBNUIsQ0FBVDtBQUNEOztBQUVEbEIsTUFBQUEsR0FBRyxDQUFDLDBCQUFELEVBQTZCZ0IsTUFBN0IsQ0FBSDs7QUFFQSxVQUFJLENBQUNBLE1BQU0sQ0FBQ00sTUFBUCxDQUFjUixJQUFJLENBQUNHLElBQW5CLENBQUwsRUFBK0I7QUFDN0JGLFFBQUFBLE1BQU0sQ0FBQ1EsTUFBUCxDQUFjLFVBQUNDLENBQUQ7QUFBQSxpQkFBT0EsQ0FBQyxDQUFDQyxZQUFGLENBQWVYLElBQUksQ0FBQ1ksR0FBcEIsRUFBeUI7QUFBRVQsWUFBQUEsSUFBSSxFQUFFRDtBQUFSLFdBQXpCLENBQVA7QUFBQSxTQUFkO0FBQ0Q7QUFDRixLO3lHQUVrQixZQUFNO0FBQ3ZCVyxNQUFBQSxNQUFNLENBQUNDLGdCQUFQLENBQXdCLFdBQXhCLEVBQXFDLE1BQUtDLGFBQTFDLEVBQXlELEtBQXpEO0FBQ0FGLE1BQUFBLE1BQU0sQ0FBQ0MsZ0JBQVAsQ0FBd0IsU0FBeEIsRUFBbUMsTUFBS0UsWUFBeEMsRUFBc0QsS0FBdEQ7QUFDRCxLO2tHQXdCVyxZQUFNO0FBQ2hCLGlCQUF3QyxNQUFLakIsS0FBTCxJQUFjLEVBQXREO0FBQUEsVUFBTWtCLGFBQU4sUUFBTUEsYUFBTjtBQUFBLFVBQXFCQyxjQUFyQixRQUFxQkEsY0FBckI7O0FBQ0FELE1BQUFBLGFBQWEsR0FBR0EsYUFBYSxJQUFJLEdBQWpDO0FBQ0FDLE1BQUFBLGNBQWMsR0FBR0EsY0FBYyxJQUFJLEdBQW5DO0FBRUEsVUFBTUMsR0FBRyxHQUFHLE1BQUszQixHQUFqQixDQUxnQixDQU9oQjs7QUFDQSxVQUFJLENBQUMyQixHQUFHLENBQUNDLEtBQUosQ0FBVXpCLEtBQVgsSUFBb0J3QixHQUFHLENBQUNDLEtBQUosQ0FBVXpCLEtBQVYsS0FBb0IsTUFBNUMsRUFBb0Q7QUFDbEQsWUFBTTBCLFVBQVUsR0FBRztBQUNqQjFCLFVBQUFBLEtBQUssRUFBR3dCLEdBQUcsSUFBSUEsR0FBRyxDQUFDMUIsWUFBWixJQUE2QixHQURuQjtBQUVqQjZCLFVBQUFBLE1BQU0sRUFBR0gsR0FBRyxJQUFJQSxHQUFHLENBQUN6QixhQUFaLElBQThCO0FBRnJCLFNBQW5COztBQUtBLG9DQUEwQixNQUFLNkIscUJBQUwsQ0FDeEJGLFVBRHdCLEVBRXhCO0FBQ0UxQixVQUFBQSxLQUFLLEVBQUUwQixVQUFVLENBQUMxQixLQUFYLEdBQW1Cc0IsYUFBbkIsR0FBbUNJLFVBQVUsQ0FBQzFCLEtBQTlDLEdBQXNEc0IsYUFEL0Q7QUFFRUssVUFBQUEsTUFBTSxFQUFFRCxVQUFVLENBQUNDLE1BQVgsR0FBb0JKLGNBQXBCLEdBQXFDRyxVQUFVLENBQUNDLE1BQWhELEdBQXlESjtBQUZuRSxTQUZ3QixFQU14QixJQU53QixDQUExQjtBQUFBLFlBQVF2QixLQUFSLHlCQUFRQSxLQUFSO0FBQUEsWUFBZTJCLE1BQWYseUJBQWVBLE1BQWY7O0FBU0FILFFBQUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVekIsS0FBVixhQUFxQkEsS0FBckI7QUFDQXdCLFFBQUFBLEdBQUcsQ0FBQ0MsS0FBSixDQUFVRSxNQUFWLGFBQXNCQSxNQUF0Qjs7QUFFQSxjQUFLRSxRQUFMLENBQWM7QUFDWkgsVUFBQUEsVUFBVSxFQUFFO0FBQUVDLFlBQUFBLE1BQU0sRUFBRUEsTUFBVjtBQUFrQjNCLFlBQUFBLEtBQUssRUFBRUE7QUFBekI7QUFEQSxTQUFkOztBQUlBLDJCQUF5QixNQUFLSSxLQUE5QjtBQUFBLFlBQVFDLElBQVIsZ0JBQVFBLElBQVI7QUFBQSxZQUFjQyxNQUFkLGdCQUFjQSxNQUFkO0FBRUEsWUFBSUMsTUFBTSxHQUFHRixJQUFJLENBQUNHLElBQWxCO0FBRUFELFFBQUFBLE1BQU0sR0FBR0EsTUFBTSxDQUFDSSxHQUFQLENBQVcsT0FBWCxFQUFvQlgsS0FBcEIsQ0FBVDtBQUNBTyxRQUFBQSxNQUFNLEdBQUdBLE1BQU0sQ0FBQ0ksR0FBUCxDQUFXLFFBQVgsRUFBcUJnQixNQUFyQixDQUFUOztBQUVBLFlBQUksQ0FBQ3BCLE1BQU0sQ0FBQ00sTUFBUCxDQUFjUixJQUFJLENBQUNHLElBQW5CLENBQUwsRUFBK0I7QUFDN0JGLFVBQUFBLE1BQU0sQ0FBQ1EsTUFBUCxDQUFjLFVBQUNDLENBQUQ7QUFBQSxtQkFBT0EsQ0FBQyxDQUFDQyxZQUFGLENBQWVYLElBQUksQ0FBQ1ksR0FBcEIsRUFBeUI7QUFBRVQsY0FBQUEsSUFBSSxFQUFFRDtBQUFSLGFBQXpCLENBQVA7QUFBQSxXQUFkO0FBQ0Q7QUFDRjtBQUNGLEs7c0dBRWUsVUFBQ3VCLENBQUQsRUFBTztBQUNyQixVQUFNQyxNQUFNLEdBQUdELENBQUMsQ0FBQ0UsTUFBRixDQUFTQyxxQkFBVCxFQUFmO0FBQ0EsVUFBTVQsR0FBRyxHQUFHLE1BQUszQixHQUFqQjtBQUNBLFVBQU02QixVQUFVLEdBQUc7QUFDakIxQixRQUFBQSxLQUFLLEVBQUd3QixHQUFHLElBQUlBLEdBQUcsQ0FBQzFCLFlBQVosSUFBNkIsR0FEbkI7QUFFakI2QixRQUFBQSxNQUFNLEVBQUdILEdBQUcsSUFBSUEsR0FBRyxDQUFDekIsYUFBWixJQUE4QjtBQUZyQixPQUFuQjs7QUFLQSxtQ0FBMEIsTUFBSzZCLHFCQUFMLENBQ3hCRixVQUR3QixFQUV4QjtBQUNFMUIsUUFBQUEsS0FBSyxFQUFFOEIsQ0FBQyxDQUFDSSxPQUFGLEdBQVlILE1BQU0sQ0FBQ0ksSUFENUI7QUFFRVIsUUFBQUEsTUFBTSxFQUFFRyxDQUFDLENBQUNNLE9BQUYsR0FBWUwsTUFBTSxDQUFDTTtBQUY3QixPQUZ3QixFQU14QixJQU53QixDQUExQjtBQUFBLFVBQVFyQyxLQUFSLDBCQUFRQSxLQUFSO0FBQUEsVUFBZTJCLE1BQWYsMEJBQWVBLE1BQWY7O0FBU0EsVUFBTVcsZUFBZSxHQUFHdEMsS0FBSyxHQUFHLEVBQVIsSUFBYzJCLE1BQU0sR0FBRyxFQUEvQztBQUNBLFVBQU1ZLHdCQUF3QixHQUFHdkMsS0FBSyxJQUFJLEdBQVQsSUFBZ0IyQixNQUFNLElBQUksR0FBM0Q7O0FBRUEsVUFBSVcsZUFBZSxJQUFJQyx3QkFBbkIsSUFBK0NmLEdBQW5ELEVBQXdEO0FBQ3REQSxRQUFBQSxHQUFHLENBQUNDLEtBQUosQ0FBVXpCLEtBQVYsYUFBcUJBLEtBQXJCO0FBQ0F3QixRQUFBQSxHQUFHLENBQUNDLEtBQUosQ0FBVUUsTUFBVixhQUFzQkEsTUFBdEI7O0FBRUEsY0FBS0UsUUFBTCxDQUFjO0FBQ1pILFVBQUFBLFVBQVUsRUFBRTtBQUFFQyxZQUFBQSxNQUFNLEVBQUVBLE1BQVY7QUFBa0IzQixZQUFBQSxLQUFLLEVBQUVBO0FBQXpCO0FBREEsU0FBZDs7QUFJQSwyQkFBeUIsTUFBS0ksS0FBOUI7QUFBQSxZQUFRQyxJQUFSLGdCQUFRQSxJQUFSO0FBQUEsWUFBY0MsTUFBZCxnQkFBY0EsTUFBZDtBQUVBLFlBQUlDLE1BQU0sR0FBR0YsSUFBSSxDQUFDRyxJQUFsQjtBQUVBRCxRQUFBQSxNQUFNLEdBQUdBLE1BQU0sQ0FBQ0ksR0FBUCxDQUFXLE9BQVgsRUFBb0JYLEtBQXBCLENBQVQ7QUFDQU8sUUFBQUEsTUFBTSxHQUFHQSxNQUFNLENBQUNJLEdBQVAsQ0FBVyxRQUFYLEVBQXFCZ0IsTUFBckIsQ0FBVDs7QUFFQSxZQUFJLENBQUNwQixNQUFNLENBQUNNLE1BQVAsQ0FBY1IsSUFBSSxDQUFDRyxJQUFuQixDQUFMLEVBQStCO0FBQzdCRixVQUFBQSxNQUFNLENBQUNRLE1BQVAsQ0FBYyxVQUFDQyxDQUFEO0FBQUEsbUJBQU9BLENBQUMsQ0FBQ0MsWUFBRixDQUFlWCxJQUFJLENBQUNZLEdBQXBCLEVBQXlCO0FBQUVULGNBQUFBLElBQUksRUFBRUQ7QUFBUixhQUF6QixDQUFQO0FBQUEsV0FBZDtBQUNEO0FBQ0Y7QUFDRixLO3FHQUVjLFlBQU07QUFDbkJXLE1BQUFBLE1BQU0sQ0FBQ3NCLG1CQUFQLENBQTJCLFdBQTNCLEVBQXdDLE1BQUtwQixhQUE3QyxFQUE0RCxLQUE1RDtBQUNBRixNQUFBQSxNQUFNLENBQUNzQixtQkFBUCxDQUEyQixTQUEzQixFQUFzQyxNQUFLbkIsWUFBM0MsRUFBeUQsS0FBekQ7QUFDRCxLOzhHQUV1QixVQUFDb0IsVUFBRCxFQUFhQyxPQUFiLEVBQXNCQyxlQUF0QixFQUF1Q0MsVUFBdkMsRUFBc0Q7QUFDNUU7QUFDQSxVQUFJRCxlQUFKLEVBQXFCO0FBQ25CLFlBQU1FLGdCQUFnQixHQUFHSixVQUFVLENBQUN6QyxLQUFYLEdBQW1CeUMsVUFBVSxDQUFDZCxNQUF2RDs7QUFFQSxZQUFJaUIsVUFBVSxLQUFLLFFBQW5CLEVBQTZCO0FBQzNCO0FBQ0EsaUJBQU87QUFDTDVDLFlBQUFBLEtBQUssRUFBRTBDLE9BQU8sQ0FBQ2YsTUFBUixHQUFpQmtCLGdCQURuQjtBQUVMbEIsWUFBQUEsTUFBTSxFQUFFZSxPQUFPLENBQUNmO0FBRlgsV0FBUDtBQUlELFNBVGtCLENBV25COzs7QUFDQSxlQUFPO0FBQ0wzQixVQUFBQSxLQUFLLEVBQUUwQyxPQUFPLENBQUMxQyxLQURWO0FBRUwyQixVQUFBQSxNQUFNLEVBQUVlLE9BQU8sQ0FBQzFDLEtBQVIsR0FBZ0I2QztBQUZuQixTQUFQO0FBSUQsT0FsQjJFLENBb0I1RTs7O0FBQ0EsYUFBTztBQUNMN0MsUUFBQUEsS0FBSyxFQUFFMEMsT0FBTyxDQUFDMUMsS0FEVjtBQUVMMkIsUUFBQUEsTUFBTSxFQUFFZSxPQUFPLENBQUNmO0FBRlgsT0FBUDtBQUlELEs7Ozs7OztXQXhJRCw2QkFBb0I7QUFDbEIsV0FBS21CLGFBQUw7QUFFQSxVQUFNQyxZQUFZLEdBQUcsS0FBS0MsTUFBMUI7O0FBRUEsVUFBSUQsWUFBSixFQUFrQjtBQUNoQkEsUUFBQUEsWUFBWSxDQUFDNUIsZ0JBQWIsQ0FBOEIsV0FBOUIsRUFBMkMsS0FBSzhCLGdCQUFoRCxFQUFrRSxLQUFsRTtBQUNEO0FBQ0Y7OztXQUVELDhCQUFxQjtBQUNuQixXQUFLSCxhQUFMO0FBQ0Q7OztXQUVELGlCQUFRdEMsSUFBUixFQUFjO0FBQ1osYUFBTztBQUNMUixRQUFBQSxLQUFLLEVBQUVSLElBQUksQ0FBQ2dCLElBQUksQ0FBQ0UsR0FBTCxDQUFTLE9BQVQsQ0FBRCxDQUROO0FBRUxpQixRQUFBQSxNQUFNLEVBQUVuQyxJQUFJLENBQUNnQixJQUFJLENBQUNFLEdBQUwsQ0FBUyxRQUFULENBQUQsQ0FGUDtBQUdMd0MsUUFBQUEsU0FBUyxFQUFFO0FBSE4sT0FBUDtBQUtEOzs7V0FzSEQsa0JBQVM7QUFBQTs7QUFDUCx5QkFBdUQsS0FBSzlDLEtBQTVEO0FBQUEsVUFBUUMsSUFBUixnQkFBUUEsSUFBUjtBQUFBLFVBQWNDLE1BQWQsZ0JBQWNBLE1BQWQ7QUFBQSxVQUFzQjZDLE9BQXRCLGdCQUFzQkEsT0FBdEI7QUFBQSxVQUErQkMsVUFBL0IsZ0JBQStCQSxVQUEvQjtBQUFBLFVBQTJDQyxPQUEzQyxnQkFBMkNBLE9BQTNDO0FBQ0EsVUFBTUMsTUFBTSxHQUFHaEQsTUFBTSxDQUFDaUQsS0FBUCxDQUFhQyxTQUFiLElBQTBCbEQsTUFBTSxDQUFDaUQsS0FBUCxDQUFhRSxTQUFiLENBQXVCQyxTQUF2QixDQUFpQ3JELElBQWpDLENBQXpDO0FBQ0EsVUFBTXNELEdBQUcsR0FBR3RELElBQUksQ0FBQ0csSUFBTCxDQUFVRSxHQUFWLENBQWMsS0FBZCxDQUFaO0FBQ0EsVUFBTWtELE1BQU0sR0FBR3ZELElBQUksQ0FBQ0csSUFBTCxDQUFVRSxHQUFWLENBQWMsUUFBZCxNQUE0QixLQUEzQztBQUNBLFVBQU1tRCxZQUFZLEdBQUd4RCxJQUFJLENBQUNHLElBQUwsQ0FBVUUsR0FBVixDQUFjLGNBQWQsQ0FBckI7QUFDQSxVQUFNb0QsU0FBUyxHQUFHekQsSUFBSSxDQUFDRyxJQUFMLENBQVVFLEdBQVYsQ0FBYyxXQUFkLENBQWxCO0FBQ0EsVUFBTWYsT0FBTyxHQUFHVSxJQUFJLENBQUNHLElBQUwsQ0FBVUUsR0FBVixDQUFjLFNBQWQsQ0FBaEI7QUFDQSxVQUFNcUQsR0FBRyxHQUFHMUQsSUFBSSxDQUFDRyxJQUFMLENBQVVFLEdBQVYsQ0FBYyxLQUFkLENBQVo7QUFDQSxVQUFJc0QsY0FBSjs7QUFFQSxjQUFRRixTQUFSO0FBQ0UsYUFBSyxNQUFMO0FBQ0VFLFVBQUFBLGNBQWMsR0FBRyxZQUFqQjtBQUNBOztBQUVGLGFBQUssUUFBTDtBQUNFQSxVQUFBQSxjQUFjLEdBQUcsUUFBakI7QUFDQTs7QUFFRixhQUFLLE9BQUw7QUFDRUEsVUFBQUEsY0FBYyxHQUFHLFVBQWpCO0FBQ0E7O0FBRUY7QUFDRUEsVUFBQUEsY0FBYyxHQUFHLFlBQWpCO0FBQ0E7QUFmSjs7QUFpQkF6RSxNQUFBQSxHQUFHLENBQUMscUJBQUQsRUFBd0JjLElBQUksQ0FBQ0csSUFBN0IsQ0FBSDtBQUVBLFVBQU1oQixJQUFJLEdBQUcsS0FBS3lFLE9BQUwsQ0FBYTVELElBQUksQ0FBQ0csSUFBbEIsQ0FBYjtBQUVBakIsTUFBQUEsR0FBRyxDQUFDLGlCQUFELEVBQW9CQyxJQUFwQixDQUFIO0FBRUEsVUFBTTBFLFNBQVMsR0FBRyw0QkFDaEJmLE9BQU8sQ0FBQ2dCLElBRFEsRUFFaEIsQ0FBQ1AsTUFBRCxJQUFXVCxPQUFPLENBQUNpQixPQUZILEVBR2hCUCxZQUFZLEtBQUssU0FBakIsSUFBOEJWLE9BQU8sQ0FBQ2tCLGFBSHRCLENBQWxCO0FBTUEsVUFBTUMsZUFBZSxHQUFHLDRCQUFXbkIsT0FBTyxDQUFDb0IsUUFBbkIsRUFBNkJYLE1BQU0sSUFBSVQsT0FBTyxDQUFDcUIsWUFBL0MsQ0FBeEI7QUFFQSxhQUFPLGNBQ0w7QUFBTSxRQUFBLEdBQUcsRUFBRTtBQUFYLGdCQURLLGVBRUw7QUFBSyxRQUFBLEdBQUcsRUFBRSxNQUFWO0FBQWtCLFFBQUEsT0FBTyxFQUFFbkIsT0FBM0I7QUFBb0MsUUFBQSxTQUFTLEVBQUVhLFNBQS9DO0FBQTBELFFBQUEsS0FBSyxFQUFFO0FBQUVGLFVBQUFBLGNBQWMsRUFBZEE7QUFBRjtBQUFqRSxzQkFDRSxnQ0FBQywwQkFBRDtBQUFnQixRQUFBLElBQUksRUFBQyxhQUFyQjtBQUFtQyxRQUFBLEtBQUssRUFBRXJFLE9BQU8sR0FBRyxDQUFWLEdBQWNBLE9BQWQsR0FBd0IsQ0FBbEU7QUFBcUUsUUFBQSxTQUFTLEVBQUUyRTtBQUFoRixRQURGLGVBRUU7QUFBSyxRQUFBLFNBQVMsRUFBRW5CLE9BQU8sQ0FBQ3NCO0FBQXhCLHNCQUNFLHFFQUNNckIsVUFETjtBQUVFLFFBQUEsU0FBUyxFQUFFLDRCQUFXRCxPQUFPLENBQUN1QixLQUFuQixFQUEwQnBCLE1BQU0sSUFBSUgsT0FBTyxDQUFDRyxNQUE1QyxDQUZiO0FBR0UsUUFBQSxHQUFHLEVBQUUsYUFBQ3FCLEtBQUQsRUFBUztBQUNaLFVBQUEsTUFBSSxDQUFDOUUsR0FBTCxHQUFXOEUsS0FBWDtBQUNELFNBTEg7QUFNRSxRQUFBLEdBQUcsRUFBRWhCLEdBTlA7QUFPRSxRQUFBLEtBQUssRUFBRW5FLElBUFQ7QUFRRSxRQUFBLE1BQU0sRUFBRSxLQUFLb0YsU0FSZjtBQVNFLFFBQUEsR0FBRyxFQUFFYjtBQVRQLFNBREYsZUFZRTtBQUNFLFFBQUEsR0FBRyxFQUFFLGFBQUNZLEtBQUQsRUFBUztBQUNaLFVBQUEsTUFBSSxDQUFDM0IsTUFBTCxHQUFjMkIsS0FBZDtBQUNELFNBSEg7QUFJRSxRQUFBLFNBQVMsRUFBRSw0QkFBV3hCLE9BQU8sQ0FBQ0gsTUFBbkIsRUFBMkIsUUFBM0I7QUFKYixRQVpGLENBRkYsQ0FGSyxlQXdCTDtBQUFNLFFBQUEsR0FBRyxFQUFFO0FBQVgsZ0JBeEJLLENBQVA7QUEwQkQ7OztFQWxRNEI2QixrQkFBTW5GLFM7OztpQ0FBeEJBLFMsZUFDUTtBQUNqQlcsRUFBQUEsSUFBSSxFQUFFeUUsMkJBQWV6RSxJQUFmLENBQW9CMEUsVUFEVDtBQUVqQnpFLEVBQUFBLE1BQU0sRUFBRTBFLHNCQUFVQyxLQUFWLENBQWdCO0FBQ3RCbkUsSUFBQUEsTUFBTSxFQUFFa0Usc0JBQVVFLElBQVYsQ0FBZUgsVUFERDtBQUV0QnhCLElBQUFBLEtBQUssRUFBRXlCLHNCQUFVRztBQUZLLEdBQWhCLEVBR0xKLFVBTGM7QUFNakI1QixFQUFBQSxPQUFPLEVBQUU2QixzQkFBVUcsTUFBVixDQUFpQkosVUFOVDtBQU9qQjNCLEVBQUFBLFVBQVUsRUFBRTRCLHNCQUFVRyxNQVBMO0FBUWpCOUIsRUFBQUEsT0FBTyxFQUFFMkIsc0JBQVVFLElBUkY7QUFTakJFLEVBQUFBLE1BQU0sRUFBRUosc0JBQVVFLElBVEQ7QUFVakI1RCxFQUFBQSxhQUFhLEVBQUUwRCxzQkFBVUssTUFWUjtBQVdqQjlELEVBQUFBLGNBQWMsRUFBRXlELHNCQUFVSztBQVhULEM7O0FBb1FyQixJQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUN6QkMsSUFBQUEsTUFBTSxFQUFFO0FBQ05DLE1BQUFBLFFBQVEsRUFBRSxVQURKO0FBRU5DLE1BQUFBLE9BQU8sRUFBRSxDQUZIO0FBR05DLE1BQUFBLFVBQVUsRUFBRTtBQUhOLEtBRGlCO0FBTXpCQyxJQUFBQSxpQkFBaUIsRUFBRTtBQUNqQkMsTUFBQUEsZUFBZSxFQUFFTixLQUFLLENBQUNPLE9BQU4sQ0FBY0MsVUFBZCxDQUF5QkMsS0FEekI7QUFFakJDLE1BQUFBLFlBQVksRUFBRSxLQUZHO0FBR2pCQyxNQUFBQSxPQUFPLEVBQUUsTUFIUTtBQUlqQkMsTUFBQUEsT0FBTyxFQUFFLE1BSlE7QUFLakJDLE1BQUFBLE1BQU0sc0JBQWViLEtBQUssQ0FBQ08sT0FBTixDQUFjTyxJQUFkLENBQW1CLEdBQW5CLENBQWYsQ0FMVztBQU1qQkMsTUFBQUEsU0FBUyxFQUNQO0FBUGUsS0FOTTtBQWV6Qi9CLElBQUFBLFFBQVEsRUFBRTtBQUNSa0IsTUFBQUEsUUFBUSxFQUFFLFVBREY7QUFFUnRELE1BQUFBLElBQUksRUFBRSxHQUZFO0FBR1JuQyxNQUFBQSxLQUFLLEVBQUUsYUFIQztBQUlScUMsTUFBQUEsR0FBRyxFQUFFLElBSkc7QUFLUnNELE1BQUFBLFVBQVUsRUFBRTtBQUxKLEtBZmU7QUFzQnpCbkIsSUFBQUEsWUFBWSxFQUFFO0FBQ1prQixNQUFBQSxPQUFPLEVBQUU7QUFERyxLQXRCVztBQXlCekJ0QixJQUFBQSxPQUFPLEVBQUU7QUFDUHNCLE1BQUFBLE9BQU8sRUFBRTtBQURGLEtBekJnQjtBQTRCekJyQixJQUFBQSxhQUFhLEVBQUU7QUFDYnFCLE1BQUFBLE9BQU8sRUFBRTtBQURJLEtBNUJVO0FBK0J6QnZCLElBQUFBLElBQUksRUFBRTtBQUNKc0IsTUFBQUEsUUFBUSxFQUFFLFVBRE47QUFFSlcsTUFBQUEsTUFBTSxzQkFBZWIsS0FBSyxDQUFDTyxPQUFOLENBQWNTLE1BQWQsQ0FBcUJDLEtBQXBDLENBRkY7QUFHSk4sTUFBQUEsT0FBTyxFQUFFLE1BSEw7QUFJSlAsTUFBQUEsVUFBVSxFQUFFO0FBSlIsS0EvQm1CO0FBcUN6QixjQUFRO0FBQ05GLE1BQUFBLFFBQVEsRUFBRSxVQURKO0FBRU5nQixNQUFBQSxLQUFLLEVBQUU7QUFGRCxLQXJDaUI7QUF5Q3pCaEMsSUFBQUEsY0FBYyxFQUFFO0FBQ2RnQixNQUFBQSxRQUFRLEVBQUUsVUFESTtBQUVkekYsTUFBQUEsS0FBSyxFQUFFLGFBRk87QUFHZGtHLE1BQUFBLE9BQU8sRUFBRSxNQUhLO0FBSWRRLE1BQUFBLFVBQVUsRUFBRSxRQUpFO0FBTWQsNEJBQXNCO0FBQ3BCUixRQUFBQSxPQUFPLEVBQUU7QUFEVztBQU5SLEtBekNTO0FBbUR6QjVDLElBQUFBLE1BQU0sRUFBRTtBQUNOOEMsTUFBQUEsTUFBTSxzQkFBZWIsS0FBSyxDQUFDTyxPQUFOLENBQWNhLE9BQWQsQ0FBc0JDLElBQXJDO0FBREEsS0FuRGlCO0FBc0R6QjVELElBQUFBLE1BQU0sRUFBRTtBQUNONkMsTUFBQUEsZUFBZSxFQUFFTixLQUFLLENBQUNPLE9BQU4sQ0FBY2EsT0FBZCxDQUFzQkMsSUFEakM7QUFFTkMsTUFBQUEsTUFBTSxFQUFFLFlBRkY7QUFHTmxGLE1BQUFBLE1BQU0sRUFBRSxNQUhGO0FBSU4zQixNQUFBQSxLQUFLLEVBQUUsS0FKRDtBQUtOaUcsTUFBQUEsWUFBWSxFQUFFLENBTFI7QUFNTmEsTUFBQUEsVUFBVSxFQUFFLEtBTk47QUFPTkMsTUFBQUEsV0FBVyxFQUFFLE1BUFA7QUFRTmIsTUFBQUEsT0FBTyxFQUFFO0FBUkgsS0F0RGlCO0FBZ0V6QmMsSUFBQUEsY0FBYyxFQUFFO0FBQ2RDLE1BQUFBLFNBQVMsRUFBRTtBQURHO0FBaEVTLEdBQVo7QUFBQSxDQUFmOztlQXFFZSx3QkFBVzNCLE1BQVgsRUFBbUI1RixTQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExpbmVhclByb2dyZXNzIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0xpbmVhclByb2dyZXNzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgU2xhdGVQcm9wVHlwZXMgZnJvbSAnc2xhdGUtcHJvcC10eXBlcyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6aW1hZ2U6Y29tcG9uZW50Jyk7XG5cbmNvbnN0IHNpemUgPSAocykgPT4gKHMgPyBgJHtzfXB4YCA6ICdhdXRvJyk7XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG5vZGU6IFNsYXRlUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3I6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBjaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uQmx1cjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbWF4SW1hZ2VXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBtYXhJbWFnZUhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbiAgfTtcblxuICBnZXRXaWR0aCA9IChwZXJjZW50KSA9PiB7XG4gICAgY29uc3QgbXVsdGlwbGllciA9IHBlcmNlbnQgLyAxMDA7XG4gICAgcmV0dXJuIHRoaXMuaW1nLm5hdHVyYWxXaWR0aCAqIG11bHRpcGxpZXI7XG4gIH07XG5cbiAgZ2V0SGVpZ2h0ID0gKHBlcmNlbnQpID0+IHtcbiAgICBjb25zdCBtdWx0aXBsaWVyID0gcGVyY2VudCAvIDEwMDtcbiAgICByZXR1cm4gdGhpcy5pbWcubmF0dXJhbEhlaWdodCAqIG11bHRpcGxpZXI7XG4gIH07XG5cbiAgZ2V0UGVyY2VudEZyb21XaWR0aCA9ICh3aWR0aCkgPT4ge1xuICAgIHZhciBmbG9vcmVkID0gKHdpZHRoIC8gdGhpcy5pbWcubmF0dXJhbFdpZHRoKSAqIDQ7XG4gICAgcmV0dXJuIHBhcnNlSW50KGZsb29yZWQudG9GaXhlZCgwKSAqIDI1LCAxMCk7XG4gIH07XG5cbiAgYXBwbHlTaXplRGF0YSA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGxldCB1cGRhdGUgPSBub2RlLmRhdGE7XG5cbiAgICBjb25zdCB3ID0gdXBkYXRlLmdldCgnd2lkdGgnKTtcbiAgICBpZiAodykge1xuICAgICAgdXBkYXRlID0gdXBkYXRlLnNldCgncmVzaXplUGVyY2VudCcsIHRoaXMuZ2V0UGVyY2VudEZyb21XaWR0aCh3KSk7XG4gICAgfVxuXG4gICAgbG9nKCdbYXBwbHlTaXplRGF0YV0gdXBkYXRlOiAnLCB1cGRhdGUpO1xuXG4gICAgaWYgKCF1cGRhdGUuZXF1YWxzKG5vZGUuZGF0YSkpIHtcbiAgICAgIGVkaXRvci5jaGFuZ2UoKGMpID0+IGMuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCB7IGRhdGE6IHVwZGF0ZSB9KSk7XG4gICAgfVxuICB9O1xuXG4gIGluaXRpYWxpc2VSZXNpemUgPSAoKSA9PiB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuc3RhcnRSZXNpemluZywgZmFsc2UpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5zdG9wUmVzaXppbmcsIGZhbHNlKTtcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLmFwcGx5U2l6ZURhdGEoKTtcblxuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZSA9IHRoaXMucmVzaXplO1xuXG4gICAgaWYgKHJlc2l6ZUhhbmRsZSkge1xuICAgICAgcmVzaXplSGFuZGxlLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuaW5pdGlhbGlzZVJlc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICB0aGlzLmFwcGx5U2l6ZURhdGEoKTtcbiAgfVxuXG4gIGdldFNpemUoZGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogc2l6ZShkYXRhLmdldCgnd2lkdGgnKSksXG4gICAgICBoZWlnaHQ6IHNpemUoZGF0YS5nZXQoJ2hlaWdodCcpKSxcbiAgICAgIG9iamVjdEZpdDogJ2NvbnRhaW4nLFxuICAgIH07XG4gIH1cblxuICBsb2FkSW1hZ2UgPSAoKSA9PiB7XG4gICAgbGV0IHsgbWF4SW1hZ2VXaWR0aCwgbWF4SW1hZ2VIZWlnaHQgfSA9IHRoaXMucHJvcHMgfHwge307XG4gICAgbWF4SW1hZ2VXaWR0aCA9IG1heEltYWdlV2lkdGggfHwgNzAwO1xuICAgIG1heEltYWdlSGVpZ2h0ID0gbWF4SW1hZ2VIZWlnaHQgfHwgOTAwO1xuXG4gICAgY29uc3QgYm94ID0gdGhpcy5pbWc7XG5cbiAgICAvL29uIGZpcnN0IGxvYWRcbiAgICBpZiAoIWJveC5zdHlsZS53aWR0aCB8fCBib3guc3R5bGUud2lkdGggPT09ICdhdXRvJykge1xuICAgICAgY29uc3QgZGltZW5zaW9ucyA9IHtcbiAgICAgICAgd2lkdGg6IChib3ggJiYgYm94Lm5hdHVyYWxXaWR0aCkgfHwgMTAwLFxuICAgICAgICBoZWlnaHQ6IChib3ggJiYgYm94Lm5hdHVyYWxIZWlnaHQpIHx8IDEwMCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy51cGRhdGVJbWFnZURpbWVuc2lvbnMoXG4gICAgICAgIGRpbWVuc2lvbnMsXG4gICAgICAgIHtcbiAgICAgICAgICB3aWR0aDogZGltZW5zaW9ucy53aWR0aCA8IG1heEltYWdlV2lkdGggPyBkaW1lbnNpb25zLndpZHRoIDogbWF4SW1hZ2VXaWR0aCxcbiAgICAgICAgICBoZWlnaHQ6IGRpbWVuc2lvbnMuaGVpZ2h0IDwgbWF4SW1hZ2VIZWlnaHQgPyBkaW1lbnNpb25zLmhlaWdodCA6IG1heEltYWdlSGVpZ2h0LFxuICAgICAgICB9LFxuICAgICAgICB0cnVlLFxuICAgICAgKTtcblxuICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xuICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGA7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkaW1lbnNpb25zOiB7IGhlaWdodDogaGVpZ2h0LCB3aWR0aDogd2lkdGggfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgbGV0IHVwZGF0ZSA9IG5vZGUuZGF0YTtcblxuICAgICAgdXBkYXRlID0gdXBkYXRlLnNldCgnd2lkdGgnLCB3aWR0aCk7XG4gICAgICB1cGRhdGUgPSB1cGRhdGUuc2V0KCdoZWlnaHQnLCBoZWlnaHQpO1xuXG4gICAgICBpZiAoIXVwZGF0ZS5lcXVhbHMobm9kZS5kYXRhKSkge1xuICAgICAgICBlZGl0b3IuY2hhbmdlKChjKSA9PiBjLnNldE5vZGVCeUtleShub2RlLmtleSwgeyBkYXRhOiB1cGRhdGUgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzdGFydFJlc2l6aW5nID0gKGUpID0+IHtcbiAgICBjb25zdCBib3VuZHMgPSBlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBib3ggPSB0aGlzLmltZztcbiAgICBjb25zdCBkaW1lbnNpb25zID0ge1xuICAgICAgd2lkdGg6IChib3ggJiYgYm94Lm5hdHVyYWxXaWR0aCkgfHwgMTAwLFxuICAgICAgaGVpZ2h0OiAoYm94ICYmIGJveC5uYXR1cmFsSGVpZ2h0KSB8fCAxMDAsXG4gICAgfTtcblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy51cGRhdGVJbWFnZURpbWVuc2lvbnMoXG4gICAgICBkaW1lbnNpb25zLFxuICAgICAge1xuICAgICAgICB3aWR0aDogZS5jbGllbnRYIC0gYm91bmRzLmxlZnQsXG4gICAgICAgIGhlaWdodDogZS5jbGllbnRZIC0gYm91bmRzLnRvcCxcbiAgICAgIH0sXG4gICAgICB0cnVlLFxuICAgICk7XG5cbiAgICBjb25zdCBoYXNNaW5pbXVtV2lkdGggPSB3aWR0aCA+IDUwICYmIGhlaWdodCA+IDUwO1xuICAgIGNvbnN0IGhhc0RpbWVuc2lvbnNDb25zdHJhaW50cyA9IHdpZHRoIDw9IDcwMCAmJiBoZWlnaHQgPD0gOTAwO1xuXG4gICAgaWYgKGhhc01pbmltdW1XaWR0aCAmJiBoYXNEaW1lbnNpb25zQ29uc3RyYWludHMgJiYgYm94KSB7XG4gICAgICBib3guc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XG4gICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGRpbWVuc2lvbnM6IHsgaGVpZ2h0OiBoZWlnaHQsIHdpZHRoOiB3aWR0aCB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHsgbm9kZSwgZWRpdG9yIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBsZXQgdXBkYXRlID0gbm9kZS5kYXRhO1xuXG4gICAgICB1cGRhdGUgPSB1cGRhdGUuc2V0KCd3aWR0aCcsIHdpZHRoKTtcbiAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5zZXQoJ2hlaWdodCcsIGhlaWdodCk7XG5cbiAgICAgIGlmICghdXBkYXRlLmVxdWFscyhub2RlLmRhdGEpKSB7XG4gICAgICAgIGVkaXRvci5jaGFuZ2UoKGMpID0+IGMuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCB7IGRhdGE6IHVwZGF0ZSB9KSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHN0b3BSZXNpemluZyA9ICgpID0+IHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5zdGFydFJlc2l6aW5nLCBmYWxzZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLnN0b3BSZXNpemluZywgZmFsc2UpO1xuICB9O1xuXG4gIHVwZGF0ZUltYWdlRGltZW5zaW9ucyA9IChpbml0aWFsRGltLCBuZXh0RGltLCBrZWVwQXNwZWN0UmF0aW8sIHJlc2l6ZVR5cGUpID0+IHtcbiAgICAvLyBpZiB3ZSB3YW50IHRvIGtlZXAgaW1hZ2UgYXNwZWN0IHJhdGlvXG4gICAgaWYgKGtlZXBBc3BlY3RSYXRpbykge1xuICAgICAgY29uc3QgaW1hZ2VBc3BlY3RSYXRpbyA9IGluaXRpYWxEaW0ud2lkdGggLyBpbml0aWFsRGltLmhlaWdodDtcblxuICAgICAgaWYgKHJlc2l6ZVR5cGUgPT09ICdoZWlnaHQnKSB7XG4gICAgICAgIC8vIGlmIHdlIHdhbnQgdG8gY2hhbmdlIGltYWdlIGhlaWdodCA9PiB3ZSB1cGRhdGUgdGhlIHdpZHRoIGFjY29yZGluZ2x5XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgd2lkdGg6IG5leHREaW0uaGVpZ2h0ICogaW1hZ2VBc3BlY3RSYXRpbyxcbiAgICAgICAgICBoZWlnaHQ6IG5leHREaW0uaGVpZ2h0LFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBpZiB3ZSB3YW50IHRvIGNoYW5nZSBpbWFnZSB3aWR0aCA9PiB3ZSB1cGRhdGUgdGhlIGhlaWdodCBhY2NvcmRpbmdseVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IG5leHREaW0ud2lkdGgsXG4gICAgICAgIGhlaWdodDogbmV4dERpbS53aWR0aCAvIGltYWdlQXNwZWN0UmF0aW8sXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8ga2VlcCBhc3BlY3QgcmF0aW8sIHdlIGp1c3QgdXBkYXRlIGJvdGggdmFsdWVzXG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBuZXh0RGltLndpZHRoLFxuICAgICAgaGVpZ2h0OiBuZXh0RGltLmhlaWdodCxcbiAgICB9O1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG5vZGUsIGVkaXRvciwgY2xhc3NlcywgYXR0cmlidXRlcywgb25Gb2N1cyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBhY3RpdmUgPSBlZGl0b3IudmFsdWUuaXNGb2N1c2VkICYmIGVkaXRvci52YWx1ZS5zZWxlY3Rpb24uaGFzRWRnZUluKG5vZGUpO1xuICAgIGNvbnN0IHNyYyA9IG5vZGUuZGF0YS5nZXQoJ3NyYycpO1xuICAgIGNvbnN0IGxvYWRlZCA9IG5vZGUuZGF0YS5nZXQoJ2xvYWRlZCcpICE9PSBmYWxzZTtcbiAgICBjb25zdCBkZWxldGVTdGF0dXMgPSBub2RlLmRhdGEuZ2V0KCdkZWxldGVTdGF0dXMnKTtcbiAgICBjb25zdCBhbGlnbm1lbnQgPSBub2RlLmRhdGEuZ2V0KCdhbGlnbm1lbnQnKTtcbiAgICBjb25zdCBwZXJjZW50ID0gbm9kZS5kYXRhLmdldCgncGVyY2VudCcpO1xuICAgIGNvbnN0IGFsdCA9IG5vZGUuZGF0YS5nZXQoJ2FsdCcpO1xuICAgIGxldCBqdXN0aWZ5Q29udGVudDtcblxuICAgIHN3aXRjaCAoYWxpZ25tZW50KSB7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAganVzdGlmeUNvbnRlbnQgPSAnZmxleC1zdGFydCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdmbGV4LWVuZCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdmbGV4LXN0YXJ0JztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGxvZygnW3JlbmRlcl0gbm9kZS5kYXRhOicsIG5vZGUuZGF0YSk7XG5cbiAgICBjb25zdCBzaXplID0gdGhpcy5nZXRTaXplKG5vZGUuZGF0YSk7XG5cbiAgICBsb2coJ1tyZW5kZXJdIHN0eWxlOicsIHNpemUpO1xuXG4gICAgY29uc3QgY2xhc3NOYW1lID0gY2xhc3NOYW1lcyhcbiAgICAgIGNsYXNzZXMucm9vdCxcbiAgICAgICFsb2FkZWQgJiYgY2xhc3Nlcy5sb2FkaW5nLFxuICAgICAgZGVsZXRlU3RhdHVzID09PSAncGVuZGluZycgJiYgY2xhc3Nlcy5wZW5kaW5nRGVsZXRlLFxuICAgICk7XG5cbiAgICBjb25zdCBwcm9ncmVzc0NsYXNzZXMgPSBjbGFzc05hbWVzKGNsYXNzZXMucHJvZ3Jlc3MsIGxvYWRlZCAmJiBjbGFzc2VzLmhpZGVQcm9ncmVzcyk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPHNwYW4ga2V5PXsnc3AxJ30+Jm5ic3A7PC9zcGFuPixcbiAgICAgIDxkaXYga2V5PXsnY29tcCd9IG9uRm9jdXM9e29uRm9jdXN9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBzdHlsZT17eyBqdXN0aWZ5Q29udGVudCB9fT5cbiAgICAgICAgPExpbmVhclByb2dyZXNzIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIHZhbHVlPXtwZXJjZW50ID4gMCA/IHBlcmNlbnQgOiAwfSBjbGFzc05hbWU9e3Byb2dyZXNzQ2xhc3Nlc30gLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaW1hZ2VDb250YWluZXJ9PlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMuaW1hZ2UsIGFjdGl2ZSAmJiBjbGFzc2VzLmFjdGl2ZSl9XG4gICAgICAgICAgICByZWY9eyhyZWYpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5pbWcgPSByZWY7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgc3JjPXtzcmN9XG4gICAgICAgICAgICBzdHlsZT17c2l6ZX1cbiAgICAgICAgICAgIG9uTG9hZD17dGhpcy5sb2FkSW1hZ2V9XG4gICAgICAgICAgICBhbHQ9e2FsdH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17KHJlZikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnJlc2l6ZSA9IHJlZjtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5yZXNpemUsICdyZXNpemUnKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PixcbiAgICAgIDxzcGFuIGtleT17J3NwMid9PiZuYnNwOzwvc3Bhbj4sXG4gICAgXTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIHBvcnRhbDoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIG9wYWNpdHk6IDAsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgfSxcbiAgZmxvYXRpbmdCdXR0b25Sb3c6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuYmFja2dyb3VuZC5wYXBlcixcbiAgICBib3JkZXJSYWRpdXM6ICcxcHgnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5ncmV5WzIwMF19YCxcbiAgICBib3hTaGFkb3c6XG4gICAgICAnMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjEyKScsXG4gIH0sXG4gIHByb2dyZXNzOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogJzAnLFxuICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICAgIHRvcDogJzAlJyxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInLFxuICB9LFxuICBoaWRlUHJvZ3Jlc3M6IHtcbiAgICBvcGFjaXR5OiAwLFxuICB9LFxuICBsb2FkaW5nOiB7XG4gICAgb3BhY2l0eTogMC4zLFxuICB9LFxuICBwZW5kaW5nRGVsZXRlOiB7XG4gICAgb3BhY2l0eTogMC4zLFxuICB9LFxuICByb290OiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5jb21tb24ud2hpdGV9YCxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgfSxcbiAgZGVsZXRlOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcmlnaHQ6IDAsXG4gIH0sXG4gIGltYWdlQ29udGFpbmVyOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuXG4gICAgJyYmOmhvdmVyID4gLnJlc2l6ZSc6IHtcbiAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgfSxcbiAgfSxcbiAgYWN0aXZlOiB7XG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW59YCxcbiAgfSxcbiAgcmVzaXplOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbixcbiAgICBjdXJzb3I6ICdjb2wtcmVzaXplJyxcbiAgICBoZWlnaHQ6ICczNXB4JyxcbiAgICB3aWR0aDogJzVweCcsXG4gICAgYm9yZGVyUmFkaXVzOiA4LFxuICAgIG1hcmdpbkxlZnQ6ICc1cHgnLFxuICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICB9LFxuICBkcmF3YWJsZUhlaWdodDoge1xuICAgIG1pbkhlaWdodDogMzUwLFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShDb21wb25lbnQpO1xuIl19
@@ -174,4 +174,4 @@ var styles = function styles(theme) {
174
174
  var _default = (0, _styles.withStyles)(styles)(ImageToolbar);
175
175
 
176
176
  exports["default"] = _default;
177
- //# sourceMappingURL=image-toolbar.js.map
177
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL2ltYWdlLXRvb2xiYXIuanN4Il0sIm5hbWVzIjpbImxvZyIsIkFsaWdubWVudEJ1dHRvbiIsImFsaWdubWVudCIsImFjdGl2ZSIsIm9uQ2xpY2siLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiYm9vbCIsImZ1bmMiLCJJbWFnZVRvb2xiYXIiLCJuZXdBbHQiLCJwcm9wcyIsIm9uQ2hhbmdlIiwiYWx0IiwicG9wb3ZlckVsIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiZWwiLCJvbkFsdFRleHREb25lIiwiUmVhY3RET00iLCJyZW5kZXIiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJjbGFzc2VzIiwiaW1hZ2VMb2FkZWQiLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwiaG9sZGVyIiwib25BbGlnbm1lbnRDbGljayIsImRpc2FibGVkIiwiYWx0QnV0dG9uIiwiZXZlbnQiLCJyZW5kZXJEaWFsb2ciLCJSZWFjdCIsIkNvbXBvbmVudCIsIm9iamVjdCIsInN0eWxlcyIsInRoZW1lIiwicGFkZGluZ0xlZnQiLCJzcGFjaW5nIiwidW5pdCIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwib3BhY2l0eSIsImJvcmRlckxlZnQiLCJtYXJnaW5MZWZ0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sb0RBQU4sQ0FBWjs7QUFFQSxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLE9BQW9DO0FBQUEsTUFBakNDLFNBQWlDLFFBQWpDQSxTQUFpQztBQUFBLE1BQXRCQyxNQUFzQixRQUF0QkEsTUFBc0I7QUFBQSxNQUFkQyxPQUFjLFFBQWRBLE9BQWM7QUFDMUQsc0JBQ0UsZ0NBQUMsMEJBQUQ7QUFBWSxJQUFB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RUF0RCtCRSxrQkFBTUMsUzs7O2lDQUEzQnhCLFksZUFDUTtBQUNqQkcsRUFBQUEsUUFBUSxFQUFFUixzQkFBVUksSUFBVixDQUFlRixVQURSO0FBRWpCaUIsRUFBQUEsT0FBTyxFQUFFbkIsc0JBQVU4QixNQUFWLENBQWlCNUIsVUFGVDtBQUdqQk4sRUFBQUEsU0FBUyxFQUFFSSxzQkFBVUMsTUFISjtBQUlqQlEsRUFBQUEsR0FBRyxFQUFFVCxzQkFBVUMsTUFKRTtBQUtqQm1CLEVBQUFBLFdBQVcsRUFBRXBCLHNCQUFVRyxJQUxOO0FBTWpCa0IsRUFBQUEsNEJBQTRCLEVBQUVyQixzQkFBVUc7QUFOdkIsQzs7QUF3RHJCLElBQU00QixNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUN6QlYsSUFBQUEsTUFBTSxFQUFFO0FBQ05XLE1BQUFBLFdBQVcsRUFBRUQsS0FBSyxDQUFDRSxPQUFOLENBQWNDLElBRHJCO0FBRU5DLE1BQUFBLE9BQU8sRUFBRSxNQUZIO0FBR05DLE1BQUFBLFVBQVUsRUFBRTtBQUhOLEtBRGlCO0FBTXpCYixJQUFBQSxRQUFRLEVBQUU7QUFDUmMsTUFBQUEsT0FBTyxFQUFFO0FBREQsS0FOZTtBQVN6QmIsSUFBQUEsU0FBUyxFQUFFO0FBQ1RjLE1BQUFBLFVBQVUsRUFBRSxnQkFESDtBQUVUTixNQUFBQSxXQUFXLEVBQUUsQ0FGSjtBQUdUTyxNQUFBQSxVQUFVLEVBQUU7QUFISDtBQVRjLEdBQVo7QUFBQSxDQUFmOztlQWdCZSx3QkFBV1QsTUFBWCxFQUFtQjFCLFlBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7IE1hcmtCdXR0b24gfSBmcm9tICcuLi90b29sYmFyL3Rvb2xiYXItYnV0dG9ucyc7XG5pbXBvcnQgQWx0RGlhbG9nIGZyb20gJy4vYWx0LWRpYWxvZyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6aW1hZ2U6aW1hZ2UtdG9vbGJhcicpO1xuXG5jb25zdCBBbGlnbm1lbnRCdXR0b24gPSAoeyBhbGlnbm1lbnQsIGFjdGl2ZSwgb25DbGljayB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPE1hcmtCdXR0b24gYWN0aXZlPXthY3RpdmV9IG9uVG9nZ2xlPXsoKSA9PiBvbkNsaWNrKGFsaWdubWVudCl9IGxhYmVsPXthbGlnbm1lbnR9PlxuICAgICAge2FsaWdubWVudH1cbiAgICA8L01hcmtCdXR0b24+XG4gICk7XG59O1xuXG5BbGlnbm1lbnRCdXR0b24ucHJvcFR5cGVzID0ge1xuICBhbGlnbm1lbnQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgYWN0aXZlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGNsYXNzIEltYWdlVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGFsaWdubWVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaW1hZ2VMb2FkZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnM6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIG9uQWx0VGV4dERvbmUgPSAobmV3QWx0KSA9PiB7XG4gICAgbG9nKCdbb25BbHRUZXh0RG9uZV06IGFsdDonLCBuZXdBbHQpO1xuXG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZSh7IGFsdDogbmV3QWx0IH0sIHRydWUpO1xuICB9O1xuXG4gIG9uQWxpZ25tZW50Q2xpY2sgPSAoYWxpZ25tZW50KSA9PiB7XG4gICAgbG9nKCdbb25BbGlnbm1lbnRDbGlja106IGFsaWdubWVudDonLCBhbGlnbm1lbnQpO1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UoeyBhbGlnbm1lbnQgfSk7XG4gIH07XG5cbiAgcmVuZGVyRGlhbG9nID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgYWx0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHBvcG92ZXJFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgY29uc3QgZWwgPSA8QWx0RGlhbG9nIGFsdD17YWx0fSBvbkRvbmU9e3RoaXMub25BbHRUZXh0RG9uZX0gLz47XG5cbiAgICBSZWFjdERPTS5yZW5kZXIoZWwsIHBvcG92ZXJFbCk7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBvcG92ZXJFbCk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgYWxpZ25tZW50LCBpbWFnZUxvYWRlZCwgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaG9sZGVyfT5cbiAgICAgICAgeyFkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPEFsaWdubWVudEJ1dHRvbiBhbGlnbm1lbnQ9eydsZWZ0J30gYWN0aXZlPXthbGlnbm1lbnQgPT09ICdsZWZ0J30gb25DbGljaz17dGhpcy5vbkFsaWdubWVudENsaWNrfSAvPlxuICAgICAgICAgICAgPEFsaWdubWVudEJ1dHRvbiBhbGlnbm1lbnQ9eydjZW50ZXInfSBhY3RpdmU9e2FsaWdubWVudCA9PT0gJ2NlbnRlcid9IG9uQ2xpY2s9e3RoaXMub25BbGlnbm1lbnRDbGlja30gLz5cbiAgICAgICAgICAgIDxBbGlnbm1lbnRCdXR0b24gYWxpZ25tZW50PXsncmlnaHQnfSBhY3RpdmU9e2FsaWdubWVudCA9PT0gJ3JpZ2h0J30gb25DbGljaz17dGhpcy5vbkFsaWdubWVudENsaWNrfSAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyh7XG4gICAgICAgICAgICBbY2xhc3Nlcy5kaXNhYmxlZF06ICFpbWFnZUxvYWRlZCxcbiAgICAgICAgICAgIFtjbGFzc2VzLmFsdEJ1dHRvbl06ICFkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zLFxuICAgICAgICAgIH0pfVxuICAgICAgICAgIG9uTW91c2VEb3duPXsoZXZlbnQpID0+IGltYWdlTG9hZGVkICYmIHRoaXMucmVuZGVyRGlhbG9nKGV2ZW50KX1cbiAgICAgICAgPlxuICAgICAgICAgIEFsdCB0ZXh0XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICBob2xkZXI6IHtcbiAgICBwYWRkaW5nTGVmdDogdGhlbWUuc3BhY2luZy51bml0LFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgfSxcbiAgZGlzYWJsZWQ6IHtcbiAgICBvcGFjaXR5OiAwLjUsXG4gIH0sXG4gIGFsdEJ1dHRvbjoge1xuICAgIGJvcmRlckxlZnQ6ICcxcHggc29saWQgZ3JleScsXG4gICAgcGFkZGluZ0xlZnQ6IDgsXG4gICAgbWFyZ2luTGVmdDogNCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoSW1hZ2VUb29sYmFyKTtcbiJdfQ==
@@ -33,6 +33,7 @@ var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image');
33
33
  function ImagePlugin(opts) {
34
34
  var toolbar = opts.insertImageRequested && {
35
35
  icon: /*#__PURE__*/_react["default"].createElement(_Image["default"], null),
36
+ ariaLabel: 'Insert Image',
36
37
  onClick: function onClick(value, onChange) {
37
38
  log('[toolbar] onClick');
38
39
 
@@ -96,7 +97,7 @@ function ImagePlugin(opts) {
96
97
  data: update
97
98
  });
98
99
  onChange(change);
99
- opts.onDelete(node.data.get('src'), function (err, v) {
100
+ opts.onDelete(node, function (err, v) {
100
101
  if (!err) {
101
102
  change = v.change().removeNodeByKey(node.key);
102
103
  } else {
@@ -259,4 +260,4 @@ var serialization = {
259
260
  }
260
261
  };
261
262
  exports.serialization = serialization;
262
- //# sourceMappingURL=index.js.map
263
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJJbWFnZVBsdWdpbiIsIm9wdHMiLCJ0b29sYmFyIiwiaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQiLCJpY29uIiwiYXJpYUxhYmVsIiwib25DbGljayIsInZhbHVlIiwib25DaGFuZ2UiLCJpbmxpbmUiLCJJbmxpbmUiLCJjcmVhdGUiLCJ0eXBlIiwiaXNWb2lkIiwiZGF0YSIsImxvYWRlZCIsInNyYyIsInVuZGVmaW5lZCIsImNoYW5nZSIsImluc2VydElubGluZSIsIm9uRmluaXNoIiwiZ2V0VmFsdWUiLCJJbnNlcnRJbWFnZUhhbmRsZXIiLCJzdXBwb3J0cyIsIm5vZGUiLCJvYmplY3QiLCJjdXN0b21Ub29sYmFyIiwib25Ub29sYmFyRG9uZSIsImFsaWdubWVudCIsImdldCIsImFsdCIsImltYWdlTG9hZGVkIiwibmV3VmFsdWVzIiwiZG9uZSIsInVwZGF0ZSIsInRvT2JqZWN0Iiwic2V0Tm9kZUJ5S2V5Iiwia2V5IiwiVGIiLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwic2hvd0RvbmUiLCJuYW1lIiwiZGVsZXRlTm9kZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsIm9uRGVsZXRlIiwibWVyZ2UiLCJEYXRhIiwiZGVsZXRlU3RhdHVzIiwiZXJyIiwidiIsInJlbW92ZU5vZGVCeUtleSIsInN0b3BSZXNldCIsImltZ1BlbmRpbmdJbnNlcnRpb24iLCJkb2N1bWVudCIsImZpbmREZXNjZW5kYW50IiwibiIsInJlbmRlck5vZGUiLCJwcm9wcyIsImFsbCIsIk9iamVjdCIsImFzc2lnbiIsIm9uRm9jdXMiLCJvbkJsdXIiLCJtYXhJbWFnZVdpZHRoIiwibWF4SW1hZ2VIZWlnaHQiLCJub3JtYWxpemVOb2RlIiwidGV4dE5vZGVNYXAiLCJ1cGRhdGVOb2Rlc0FycmF5IiwiaW5kZXgiLCJkIiwidGV4dCIsInB1c2giLCJsZW5ndGgiLCJ3aXRob3V0Tm9ybWFsaXphdGlvbiIsImZvckVhY2giLCJpbnNlcnRUZXh0QnlLZXkiLCJzZXJpYWxpemF0aW9uIiwiZGVzZXJpYWxpemUiLCJlbCIsInRhZ05hbWUiLCJ0b0xvd2VyQ2FzZSIsInN0eWxlIiwid2lkdGgiLCJoZWlnaHQiLCJtYXJnaW4iLCJqdXN0aWZ5Q29udGVudCIsInBhcnNlSW50IiwicmVwbGFjZSIsIm91dCIsImdldEF0dHJpYnV0ZSIsInNlcmlhbGl6ZSIsIm9iamVjdEZpdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSxzQ0FBTixDQUFaOztBQUVlLFNBQVNDLFdBQVQsQ0FBcUJDLElBQXJCLEVBQTJCO0FBQ3hDLE1BQU1DLE9BQU8sR0FBR0QsSUFBSSxDQUFDRSxvQkFBTCxJQUE2QjtBQUMzQ0MsSUFBQUEsSUFBSSxlQUFFLGdDQUFDLGlCQUFELE9BRHFDO0FBRTNDQyxJQUFBQSxTQUFTLEVBQUUsY0FGZ0M7QUFHM0NDLElBQUFBLE9BQU8sRUFBRSxpQkFBQ0MsS0FBRCxFQUFRQyxRQUFSLEVBQXFCO0FBQzVCVCxNQUFBQSxHQUFHLENBQUMsbUJBQUQsQ0FBSDs7QUFDQSxVQUFNVSxNQUFNLEdBQUdDLGNBQU9DLE1BQVAsQ0FBYztBQUMzQkMsUUFBQUEsSUFBSSxFQUFFLE9BRHFCO0FBRTNCQyxRQUFBQSxNQUFNLEVBQUUsSUFGbUI7QUFHM0JDLFFBQUFBLElBQUksRUFBRTtBQUNKQyxVQUFBQSxNQUFNLEVBQUUsS0FESjtBQUVKQyxVQUFBQSxHQUFHLEVBQUVDO0FBRkQ7QUFIcUIsT0FBZCxDQUFmOztBQVNBLFVBQU1DLE1BQU0sR0FBR1gsS0FBSyxDQUFDVyxNQUFOLEdBQWVDLFlBQWYsQ0FBNEJWLE1BQTVCLENBQWY7QUFFQUQsTUFBQUEsUUFBUSxDQUFDVSxNQUFELENBQVI7QUFDQWpCLE1BQUFBLElBQUksQ0FBQ0Usb0JBQUwsQ0FDRU0sTUFERixFQUVFLFVB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SEEsR0FEWTtBQUVaa0UsTUFBQUEsS0FBSyxFQUFMQSxLQUZZO0FBR1p0RCxNQUFBQSxTQUFTLEVBQVRBLFNBSFk7QUFJWkUsTUFBQUEsR0FBRyxFQUFIQTtBQUpZLEtBQWQ7QUFPQSx3QkFBTyx1Q0FBUzRCLEtBQVQsQ0FBUDtBQUNEO0FBaEYwQixDQUF0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEsIElubGluZSB9IGZyb20gJ3NsYXRlJztcblxuaW1wb3J0IEltYWdlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9JbWFnZSc7XG5pbXBvcnQgSW1hZ2VDb21wb25lbnQgZnJvbSAnLi9jb21wb25lbnQnO1xuaW1wb3J0IEltYWdlVG9vbGJhciBmcm9tICcuL2ltYWdlLXRvb2xiYXInO1xuaW1wb3J0IEluc2VydEltYWdlSGFuZGxlciBmcm9tICcuL2luc2VydC1pbWFnZS1oYW5kbGVyJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6ZWRpdGFibGUtaHRtbDpwbHVnaW5zOmltYWdlJyk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEltYWdlUGx1Z2luKG9wdHMpIHtcbiAgY29uc3QgdG9vbGJhciA9IG9wdHMuaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQgJiYge1xuICAgIGljb246IDxJbWFnZSAvPixcbiAgICBhcmlhTGFiZWw6ICdJbnNlcnQgSW1hZ2UnLFxuICAgIG9uQ2xpY2s6ICh2YWx1ZSwgb25DaGFuZ2UpID0+IHtcbiAgICAgIGxvZygnW3Rvb2xiYXJdIG9uQ2xpY2snKTtcbiAgICAgIGNvbnN0IGlubGluZSA9IElubGluZS5jcmVhdGUoe1xuICAgICAgICB0eXBlOiAnaW1hZ2UnLFxuICAgICAgICBpc1ZvaWQ6IHRydWUsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgIHNyYzogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpLmluc2VydElubGluZShpbmxpbmUpO1xuXG4gICAgICBvbkNoYW5nZShjaGFuZ2UpO1xuICAgICAgb3B0cy5pbnNlcnRJbWFnZVJlcXVlc3RlZChcbiAgICAgICAgaW5saW5lLFxuICAgICAgICAob25GaW5pc2gsIGdldFZhbHVlKSA9PiBuZXcgSW5zZXJ0SW1hZ2VIYW5kbGVyKGlubGluZSwgb25GaW5pc2gsIGdldFZhbHVlLCBvbkNoYW5nZSksXG4gICAgICApO1xuICAgIH0sXG4gICAgc3VwcG9ydHM6IChub2RlKSA9PiBub2RlLm9iamVjdCA9PT0gJ2lubGluZScgJiYgbm9kZS50eXBlID09PSAnaW1hZ2UnLFxuICAgIGN1c3RvbVRvb2xiYXI6IChub2RlLCB2YWx1ZSwgb25Ub29sYmFyRG9uZSkgPT4ge1xuICAgICAgY29uc3QgYWxpZ25tZW50ID0gbm9kZS5kYXRhLmdldCgnYWxpZ25tZW50Jyk7XG4gICAgICBjb25zdCBhbHQgPSBub2RlLmRhdGEuZ2V0KCdhbHQnKTtcbiAgICAgIGNvbnN0IGltYWdlTG9hZGVkID0gbm9kZS5kYXRhLmdldCgnbG9hZGVkJykgIT09IGZhbHNlO1xuICAgICAgY29uc3Qgb25DaGFuZ2UgPSAobmV3VmFsdWVzLCBkb25lKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgICAgICAuLi5ub2RlLmRhdGEudG9PYmplY3QoKSxcbiAgICAgICAgICAuLi5uZXdWYWx1ZXMsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgY2hhbmdlID0gdmFsdWUuY2hhbmdlKCkuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCB7IGRhdGE6IHVwZGF0ZSB9KTtcbiAgICAgICAgb25Ub29sYmFyRG9uZShjaGFuZ2UsIGRvbmUpO1xuICAgICAgfTtcblxuICAgICAgY29uc3QgVGIgPSAoKSA9PiAoXG4gICAgICAgIDxJbWFnZVRvb2xiYXJcbiAgICAgICAgICBkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zPXtvcHRzLmRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnN9XG4gICAgICAgICAgYWx0PXthbHR9XG4gICAgICAgICAgaW1hZ2VMb2FkZWQ9e2ltYWdlTG9hZGVkfVxuICAgICAgICAgIGFsaWdubWVudD17YWxpZ25tZW50IHx8ICdsZWZ0J31cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgICAgcmV0dXJuIFRiO1xuICAgIH0sXG4gICAgc2hvd0RvbmU6IHRydWUsXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnaW1hZ2UnLFxuICAgIHRvb2xiYXIsXG4gICAgZGVsZXRlTm9kZTogKGUsIG5vZGUsIHZhbHVlLCBvbkNoYW5nZSkgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKG9wdHMub25EZWxldGUpIHtcbiAgICAgICAgY29uc3QgdXBkYXRlID0gbm9kZS5kYXRhLm1lcmdlKERhdGEuY3JlYXRlKHsgZGVsZXRlU3RhdHVzOiAncGVuZGluZycgfSkpO1xuXG4gICAgICAgIGxldCBjaGFuZ2UgPSB2YWx1ZS5jaGFuZ2UoKS5zZXROb2RlQnlLZXkobm9kZS5rZXksIHsgZGF0YTogdXBkYXRlIH0pO1xuXG4gICAgICAgIG9uQ2hhbmdlKGNoYW5nZSk7XG4gICAgICAgIG9wdHMub25EZWxldGUobm9kZSwgKGVyciwgdikgPT4ge1xuICAgICAgICAgIGlmICghZXJyKSB7XG4gICAgICAgICAgICBjaGFuZ2UgPSB2LmNoYW5nZSgpLnJlbW92ZU5vZGVCeUtleShub2RlLmtleSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxvZygnW2Vycm9yXTogJywgZXJyKTtcbiAgICAgICAgICAgIGNoYW5nZSA9IHYuY2hhbmdlKCkuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCBub2RlLmRhdGEubWVyZ2UoRGF0YS5jcmVhdGUoeyBkZWxldGVTdGF0dXM6ICdmYWlsZWQnIH0pKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2hhbmdlKGNoYW5nZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpLnJlbW92ZU5vZGVCeUtleShub2RlLmtleSk7XG4gICAgICAgIG9uQ2hhbmdlKGNoYW5nZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzdG9wUmVzZXQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgaW1nUGVuZGluZ0luc2VydGlvbiA9IHZhbHVlLmRvY3VtZW50LmZpbmREZXNjZW5kYW50KChuKSA9PiB7XG4gICAgICAgIGlmIChuLnR5cGUgIT09ICdpbWFnZScpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG4uZGF0YS5nZXQoJ2xvYWRlZCcpID09PSBmYWxzZTtcbiAgICAgIH0pO1xuICAgICAgLyoqIGRvbid0IHJlc2V0IGlmIHRoZXJlIGlzIGFuIGltYWdlIHBlbmRpbmcgaW5zZXJ0aW9uICovXG4gICAgICByZXR1cm4gaW1nUGVuZGluZ0luc2VydGlvbiAhPT0gdW5kZWZpbmVkICYmIGltZ1BlbmRpbmdJbnNlcnRpb24gIT09IG51bGw7XG4gICAgfSxcbiAgICByZW5kZXJOb2RlKHByb3BzKSB7XG4gICAgICBpZiAocHJvcHMubm9kZS50eXBlID09PSAnaW1hZ2UnKSB7XG4gICAgICAgIGNvbnN0IGFsbCA9IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgb25EZWxldGU6IG9wdHMub25EZWxldGUsXG4gICAgICAgICAgICBvbkZvY3VzOiBvcHRzLm9uRm9jdXMsXG4gICAgICAgICAgICBvbkJsdXI6IG9wdHMub25CbHVyLFxuICAgICAgICAgICAgbWF4SW1hZ2VXaWR0aDogb3B0cy5tYXhJbWFnZVdpZHRoLFxuICAgICAgICAgICAgbWF4SW1hZ2VIZWlnaHQ6IG9wdHMubWF4SW1hZ2VIZWlnaHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcm9wcyxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIDxJbWFnZUNvbXBvbmVudCB7Li4uYWxsfSAvPjtcbiAgICAgIH1cbiAgICB9LFxuICAgIG5vcm1hbGl6ZU5vZGU6IChub2RlKSA9PiB7XG4gICAgICBjb25zdCB0ZXh0Tm9kZU1hcCA9IHt9O1xuICAgICAgY29uc3QgdXBkYXRlTm9kZXNBcnJheSA9IFtdO1xuICAgICAgbGV0IGluZGV4ID0gMDtcblxuICAgICAgaWYgKG5vZGUub2JqZWN0ICE9PSAnZG9jdW1lbnQnKSByZXR1cm47XG5cbiAgICAgIG5vZGUuZmluZERlc2NlbmRhbnQoKGQpID0+IHtcbiAgICAgICAgaWYgKGQub2JqZWN0ID09PSAndGV4dCcpIHtcbiAgICAgICAgICB0ZXh0Tm9kZU1hcFtpbmRleF0gPSBkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGQudHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICAgIGlmIChpbmRleCA+IDAgJiYgdGV4dE5vZGVNYXBbaW5kZXggLSAxXSAmJiB0ZXh0Tm9kZU1hcFtpbmRleCAtIDFdLnRleHQgPT09ICcnKSB7XG4gICAgICAgICAgICB1cGRhdGVOb2Rlc0FycmF5LnB1c2godGV4dE5vZGVNYXBbaW5kZXggLSAxXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5kZXgrKztcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXVwZGF0ZU5vZGVzQXJyYXkubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgIHJldHVybiAoY2hhbmdlKSA9PiB7XG4gICAgICAgIGNoYW5nZS53aXRob3V0Tm9ybWFsaXphdGlvbigoKSA9PiB7XG4gICAgICAgICAgdXBkYXRlTm9kZXNBcnJheS5mb3JFYWNoKChuKSA9PiBjaGFuZ2UuaW5zZXJ0VGV4dEJ5S2V5KG4ua2V5LCAwLCAnICcpKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBzZXJpYWxpemF0aW9uID0ge1xuICBkZXNlcmlhbGl6ZShlbCAvKiwgbmV4dCovKSB7XG4gICAgY29uc3QgbmFtZSA9IGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAobmFtZSAhPT0gJ2ltZycpIHJldHVybjtcblxuICAgIGxvZygnZGVzZXJpYWxpemU6ICcsIG5hbWUpO1xuICAgIGNvbnN0IHN0eWxlID0gZWwuc3R5bGUgfHwgeyB3aWR0aDogJycsIGhlaWdodDogJycsIG1hcmdpbjogJycsIGp1c3RpZnlDb250ZW50OiAnJyB9O1xuICAgIGNvbnN0IHdpZHRoID0gcGFyc2VJbnQoc3R5bGUud2lkdGgucmVwbGFjZSgncHgnLCAnJyksIDEwKSB8fCBudWxsO1xuICAgIGNvbnN0IGhlaWdodCA9IHBhcnNlSW50KHN0eWxlLmhlaWdodC5yZXBsYWNlKCdweCcsICcnKSwgMTApIHx8IG51bGw7XG5cbiAgICBjb25zdCBvdXQgPSB7XG4gICAgICBvYmplY3Q6ICdpbmxpbmUnLFxuICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgIGlzVm9pZDogdHJ1ZSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgc3JjOiBlbC5nZXRBdHRyaWJ1dGUoJ3NyYycpLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICBtYXJnaW46IGVsLnN0eWxlLm1hcmdpbixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IGVsLnN0eWxlLmp1c3RpZnlDb250ZW50LFxuICAgICAgICBhbGlnbm1lbnQ6IGVsLmdldEF0dHJpYnV0ZSgnYWxpZ25tZW50JyksXG4gICAgICAgIGFsdDogZWwuZ2V0QXR0cmlidXRlKCdhbHQnKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBsb2coJ3JldHVybiBvYmplY3Q6ICcsIG91dCk7XG4gICAgcmV0dXJuIG91dDtcbiAgfSxcbiAgc2VyaWFsaXplKG9iamVjdCAvKiwgY2hpbGRyZW4qLykge1xuICAgIGlmIChvYmplY3QudHlwZSAhPT0gJ2ltYWdlJykgcmV0dXJuO1xuXG4gICAgY29uc3QgeyBkYXRhIH0gPSBvYmplY3Q7XG4gICAgY29uc3Qgc3JjID0gZGF0YS5nZXQoJ3NyYycpO1xuICAgIGNvbnN0IHdpZHRoID0gZGF0YS5nZXQoJ3dpZHRoJyk7XG4gICAgY29uc3QgaGVpZ2h0ID0gZGF0YS5nZXQoJ2hlaWdodCcpO1xuICAgIGNvbnN0IGFsaWdubWVudCA9IGRhdGEuZ2V0KCdhbGlnbm1lbnQnKSB8fCAnbGVmdCc7XG4gICAgY29uc3QgbWFyZ2luID0gZGF0YS5nZXQoJ21hcmdpbicpO1xuICAgIGNvbnN0IGp1c3RpZnlDb250ZW50ID0gZGF0YS5nZXQoJ21hcmdpbicpO1xuICAgIGNvbnN0IGFsdCA9IGRhdGEuZ2V0KCdhbHQnKTtcbiAgICBjb25zdCBzdHlsZSA9IHt9O1xuICAgIGlmICh3aWR0aCkge1xuICAgICAgc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XG4gICAgfVxuXG4gICAgaWYgKGhlaWdodCkge1xuICAgICAgc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcbiAgICB9XG5cbiAgICBzdHlsZS5tYXJnaW4gPSBtYXJnaW47XG4gICAgc3R5bGUuanVzdGlmeUNvbnRlbnQgPSBqdXN0aWZ5Q29udGVudDtcblxuICAgIGlmIChhbGlnbm1lbnQpIHtcbiAgICAgIHN3aXRjaCAoYWxpZ25tZW50KSB7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIHN0eWxlLmp1c3RpZnlDb250ZW50ID0gJ2ZsZXgtc3RhcnQnO1xuICAgICAgICAgIHN0eWxlLm1hcmdpbiA9ICcwJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgICBzdHlsZS5qdXN0aWZ5Q29udGVudCA9ICdjZW50ZXInO1xuICAgICAgICAgIHN0eWxlLm1hcmdpbiA9ICcwIGF1dG8nO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgc3R5bGUuanVzdGlmeUNvbnRlbnQgPSAnZmxleC1lbmQnO1xuICAgICAgICAgIHN0eWxlLm1hcmdpbiA9ICdhdXRvIDAgMCBhdXRvJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBzdHlsZS5qdXN0aWZ5Q29udGVudCA9ICdmbGV4LXN0YXJ0JztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHlsZS5vYmplY3RGaXQgPSAnY29udGFpbic7XG5cbiAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgIHNyYyxcbiAgICAgIHN0eWxlLFxuICAgICAgYWxpZ25tZW50LFxuICAgICAgYWx0LFxuICAgIH07XG5cbiAgICByZXR1cm4gPGltZyB7Li4ucHJvcHN9IC8+O1xuICB9LFxufTtcbiJdfQ==