@agilemotion/oui-react-js 2.0.16 → 2.0.18

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 (36) hide show
  1. package/dist/components/Calender.css +1 -1
  2. package/dist/components/TableCellContent.js +9 -18
  3. package/dist/components/dashboard/FoldingSideTabDashboard.css +1 -1
  4. package/dist/components/dashboard/FoldingSideTabDashboard.js +10 -7
  5. package/dist/components/form/LookupField.js +27 -3
  6. package/dist/components/layout/Layout.js +15 -3
  7. package/dist/components/layout/ViewPort.js +2 -2
  8. package/dist/components/layout/Window.css +4 -1
  9. package/dist/components/layout/Window.js +147 -29
  10. package/dist/components/layout/WindowDialog.js +8 -5
  11. package/dist/components/layout/WindowViewPort.js +8 -2
  12. package/dist/components/media/Chat.js +4 -2
  13. package/dist/components/media/ClosablePanel.js +55 -27
  14. package/dist/components/media/MediaSoupHelper.js +13 -1
  15. package/dist/components/media/SideBarContent.js +22 -8
  16. package/dist/components/media/TrainingRoom.js +141 -46
  17. package/dist/components/media/VCEventType.js +3 -1
  18. package/dist/components/media/VCParticipantList.js +53 -27
  19. package/dist/components/media/VCRoom.css +22 -0
  20. package/dist/components/media/VCRoom.js +34 -15
  21. package/dist/components/media/VCRoomParticipant.css +3 -2
  22. package/dist/components/media/VCRoomParticipant.js +140 -48
  23. package/dist/components/media/VCRoomRecorder.js +117 -40
  24. package/dist/components/media/VCRoomWorkspace.css +0 -1
  25. package/dist/components/media/VCRoomWorkspace.js +158 -23
  26. package/dist/components/media/VCSettings.js +462 -0
  27. package/dist/components/media/VideoPlayer.js +4 -1
  28. package/dist/components/media/audioLevelMeter.js +96 -0
  29. package/dist/components/media/chat/ChatRoom.js +13 -9
  30. package/dist/components/media/chat/ChatRoomItem.js +3 -2
  31. package/dist/components/media/chat/ChatRoomWrapper.js +4 -1
  32. package/dist/components/media/chat/ChatRooms.scss +5 -3
  33. package/dist/hooks/useContainerWidth.js +44 -0
  34. package/dist/js/Media.js +11 -2
  35. package/dist/view/security/RegisterInteractionPortal.js +101 -3
  36. package/package.json +2 -2
@@ -36,8 +36,33 @@ const LookupFieldComponent = exports.LookupFieldComponent = /*#__PURE__*/_react.
36
36
  _Observable.default.clearComponentEventListeners(props.gridHandle.api.id);
37
37
  };
38
38
  _react.default.useEffect(() => {
39
+ // First-time / programmatic binding: the bound value carries the raw row
40
+ // but no display label (that was only computed on user selection via
41
+ // setupVal), so the field rendered blank. Apply the displayTemplate here
42
+ // so a bound value shows the same label as a picked one.
43
+ if (!_Utils.default.isNull(base.value) && _Utils.default.isNull(base.value.__oui_label)) {
44
+ console.log("\n\n\n=========================LOOKUP VALUE WITH NO LABEL FOR : " + props.config.id, base.value);
45
+ let label = computeDisplayLabel(base.value);
46
+ base.value.__oui_label = label;
47
+ base.value.toString = () => label;
48
+ }
39
49
  setValue(base.value);
40
50
  }, [base.value]);
51
+
52
+ // Resolve the configured displayTemplate (e.g. "@{dataRecordDescription}")
53
+ // against a row's properties. Shared by setupVal (selection) and the
54
+ // base-value binding above so both produce an identical label.
55
+ const computeDisplayLabel = row => {
56
+ let label = _Utils.default.getComponentAttribute(props.config, 'displayTemplate', 'Please specify a display template');
57
+ let properties = Object.getOwnPropertyNames(row);
58
+ console.log("***LOOKUP DISPLAY TEMPLATE : " + label, properties);
59
+ for (let i = 0; i < properties.length; i++) {
60
+ let property = properties[i];
61
+ label = label.replace('@{' + property + '}', row[property]);
62
+ console.log("PROP : " + label, property, row[property]);
63
+ }
64
+ return label;
65
+ };
41
66
  _react.default.useEffect(() => {
42
67
  if (props.config && props.config.grid) {
43
68
  if (!props.config.grid.attributes) {
@@ -50,14 +75,13 @@ const LookupFieldComponent = exports.LookupFieldComponent = /*#__PURE__*/_react.
50
75
  let val = {};
51
76
  let row = currentSelection[0];
52
77
  let properties = Object.getOwnPropertyNames(row);
53
- let label = _Utils.default.getComponentAttribute(props.config, 'displayTemplate', 'Please specify a display template');
54
78
  for (let i = 0; i < properties.length; i++) {
55
79
  let property = properties[i];
56
- label = label.replace('@{' + property + "}", row[property]);
57
80
  if (property !== 'label') {
58
81
  val[property] = row[property];
59
82
  }
60
83
  }
84
+ let label = computeDisplayLabel(row);
61
85
  val.__oui_label = label;
62
86
  val.toString = () => {
63
87
  return label;
@@ -221,4 +245,4 @@ const LookupField = exports.LookupField = /*#__PURE__*/_react.default.memo(props
221
245
  }, props)));
222
246
  });
223
247
  var _default = exports.default = LookupField;
224
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9VdGlscyIsIl9UZXh0RmllbGQiLCJfSWNvbkJ1dHRvbiIsIl9TZWFyY2giLCJfRGlhbG9nIiwiX0RpYWxvZ0FjdGlvbnMiLCJfQnV0dG9uIiwiX0Jhc2VGaWVsZCIsIl9EYXRhR3JpZCIsIl9PYnNlcnZhYmxlIiwiX0RpYWxvZ1RpdGxlIiwiX0ljb24iLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZXh0ZW5kcyIsIk9iamVjdCIsImFzc2lnbiIsImJpbmQiLCJuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidCIsInIiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsIkxvb2t1cEZpZWxkQ29tcG9uZW50IiwiZXhwb3J0cyIsIlJlYWN0IiwibWVtbyIsInByb3BzIiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1IiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1MiIsIl9wcm9wcyRjb25maWckYXR0cmlidTMiLCJfcHJvcHMkY29uZmlnJGF0dHJpYnU0IiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1NSIsIl9wcm9wcyRjb25maWckYXR0cmlidTYiLCJfcHJvcHMkY29uZmlnJGF0dHJpYnU3IiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1OCIsImN1cnJlbnRTZWxlY3Rpb24iLCJzZXRDdXJyZW50U2VsZWN0aW9uIiwidXNlU3RhdGUiLCJvcGVuIiwic2V0T3BlbiIsIndpZHRoIiwiY29uZmlnIiwiYXR0cmlidXRlcyIsInN0eWxlIiwibWluV2lkdGgiLCJoZWlnaHQiLCJVdGlscyIsImlzTnVsbCIsIm1hcmdpbiIsImRlZmF1bHRWYWx1ZSIsInZhbHVlIiwic2V0VmFsdWUiLCJpZCIsImJhc2UiLCJoYW5kbGVDbG9zZSIsImV2ZW50TWFuYWdlciIsImNsZWFyQ29tcG9uZW50RXZlbnRMaXN0ZW5lcnMiLCJncmlkSGFuZGxlIiwiYXBpIiwidXNlRWZmZWN0IiwiZ3JpZCIsImdldENvbXBvbmVudEF0dHJpYnV0ZSIsInNldHVwVmFsIiwidmFsIiwicm93IiwicHJvcGVydGllcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJsYWJlbCIsImkiLCJwcm9wZXJ0eSIsInJlcGxhY2UiLCJfX291aV9sYWJlbCIsInRvU3RyaW5nIiwic2V0U2VsZWN0aW9uQXNWYWx1ZSIsImhhbmRsZVZhbHVlQ2hhbmdlIiwib3BlblNlYXJjaCIsImNsZWFyVmFsdWUiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwibWVyZ2VTdHlsZXMiLCJtYXJnaW5Cb3R0b20iLCJoYXNFcnJvciIsIm1hcmdpblRvcCIsImRpc2FibGVkIiwidmFyaWFudCIsIm9uQ2xpY2siLCJwb3NpdGlvbiIsInJlcXVpcmVkIiwicmlnaHQiLCJ6SW5kZXgiLCJyZWFkT25seSIsImRhdGFSZWNvcmREZXNjcmlwdGlvbiIsImVycm9yIiwiaGVscGVyVGV4dCIsImVycm9yTWVzc2FnZSIsInNpemUiLCJvbkNsb3NlIiwibWF4V2lkdGgiLCJQYXBlclByb3BzIiwic3giLCJkaXNhYmxlQmFja2Ryb3BDbGljayIsIm92ZXJmbG93IiwiYm9yZGVyUmFkaXVzIiwibWF4SGVpZ2h0IiwicGlja2VyTGFiZWwiLCJtaW5IZWlnaHQiLCJEYXRhR3JpZCIsImhhbmRsZSIsInJlZiIsImNyZWF0ZVJlZiIsInZpZXdJZCIsIm9uU2VsZWN0aW9uQ2hhbmdlIiwic2VsZWN0aW9uIiwicGFkZGluZyIsImNvbG9yIiwiTG9va3VwRmllbGQiLCJCYXNlRmllbGQiLCJnZXRDaGlsZHJlbiIsImNoaWxkcmVuIiwicHVzaCIsInZhbHVlUGFyc2VyIiwiaW5ib3VuZCIsImNvbnNvbGUiLCJ3YXJuIiwiaW5pdFZhbCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vTG9va3VwRmllbGQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbIu+7v2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi4vLi4vVXRpbHMnO1xuaW1wb3J0IFRleHRGaWVsZCBmcm9tICdAbXVpL21hdGVyaWFsL1RleHRGaWVsZCc7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tICdAbXVpL21hdGVyaWFsL0ljb25CdXR0b24nO1xuaW1wb3J0IFNlYXJjaEljb24gZnJvbSAnQG11aS9pY29ucy1tYXRlcmlhbC9TZWFyY2gnO1xuaW1wb3J0IERpYWxvZyBmcm9tICdAbXVpL21hdGVyaWFsL0RpYWxvZyc7XG5pbXBvcnQgRGlhbG9nQWN0aW9ucyBmcm9tICdAbXVpL21hdGVyaWFsL0RpYWxvZ0FjdGlvbnMnO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICdAbXVpL21hdGVyaWFsL0J1dHRvbic7XG5pbXBvcnQge0Jhc2VGaWVsZH0gZnJvbSBcIi4vQmFzZUZpZWxkXCI7XG5pbXBvcnQge0RhdGFHcmlkfSBmcm9tIFwiLi4vRGF0YUdyaWRcIjtcbmltcG9ydCBldmVudE1hbmFnZXIgZnJvbSBcIi4uLy4uL2V2ZW50L09ic2VydmFibGVcIjtcbmltcG9ydCBEaWFsb2dUaXRsZSBmcm9tICdAbXVpL21hdGVyaWFsL0RpYWxvZ1RpdGxlJztcbmltcG9ydCBJY29uIGZyb20gXCIuLi9JY29uXCI7XG5cbmV4cG9ydCBjb25zdCBMb29rdXBGaWVsZENvbXBvbmVudCA9IFJlYWN0Lm1lbW8oKHByb3BzKSA9PiB7XG4gICAgY29uc3QgW2N1cnJlbnRTZWxlY3Rpb24sIHNldEN1cnJlbnRTZWxlY3Rpb25dID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IHdpZHRoID0gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlPy53aWR0aCA/IHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzLnN0eWxlLndpZHRoIDogXCIxMDAlXCI7XG4gICAgY29uc3QgbWluV2lkdGggPSBwcm9wcy5jb25maWcuYXR0cmlidXRlcz8uc3R5bGU/Lm1pbldpZHRoID8gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXMuc3R5bGUubWluV2lkdGggOiBcIjI0MHB4XCI7XG4gICAgY29uc3QgaGVpZ2h0ID0gIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcuYXR0cmlidXRlcz8uc3R5bGU/LmhlaWdodCkgPyBwcm9wcy5jb25maWcuYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQgOiAnNDFweCc7XG4gICAgY29uc3QgbWFyZ2luID0gIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcuYXR0cmlidXRlcz8uc3R5bGU/Lm1hcmdpbikgPyBwcm9wcy5jb25maWcuYXR0cmlidXRlcy5zdHlsZS5tYXJnaW4gOiAnNHB4IDAnO1xuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IFV0aWxzLmlzTnVsbChwcm9wcy52YWx1ZSkgPyAnJyA6IHByb3BzLnZhbHVlO1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUoVXRpbHMuaXNOdWxsKHByb3BzLnZhbHVlKSA/IG51bGwgOiBwcm9wcy52YWx1ZS5pZCk7XG4gICAgY29uc3QgYmFzZSA9IHByb3BzLmJhc2U7XG5cbiAgICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgICAgIHNldEN1cnJlbnRTZWxlY3Rpb24obnVsbCk7XG4gICAgICAgIGV2ZW50TWFuYWdlci5jbGVhckNvbXBvbmVudEV2ZW50TGlzdGVuZXJzKHByb3BzLmdyaWRIYW5kbGUuYXBpLmlkKTtcbiAgICB9O1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgc2V0VmFsdWUoYmFzZS52YWx1ZSk7XG4gICAgfSwgW2Jhc2UudmFsdWVdKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmNvbmZpZyAmJiBwcm9wcy5jb25maWcuZ3JpZCkge1xuICAgICAgICAgICAgICAgIGlmICghcHJvcHMuY29uZmlnLmdyaWQuYXR0cmlidXRlcykge1xuICAgICAgICAgICAgICAgICAgICBwcm9wcy5jb25maWcuZ3JpZC5hdHRyaWJ1dGVzID0ge307XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcHJvcHMuY29uZmlnLmdyaWQuYXR0cmlidXRlc1snbWFyZ2luJ10gPSBVdGlscy5nZXRDb21wb25lbnRBdHRyaWJ1dGUocHJvcHMuY29uZmlnLmdyaWQsICdtYXJnaW4nLCAnMTZweCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBbXSk7XG5cbiAgICBmdW5jdGlvbiBzZXR1cFZhbCgpIHtcbiAgICAgICAgbGV0IHZhbCA9IHt9O1xuICAgICAgICBsZXQgcm93ID0gY3VycmVudFNlbGVjdGlvblswXTtcbiAgICAgICAgbGV0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhyb3cpO1xuICAgICAgICBsZXQgbGFiZWwgPSBVdGlscy5nZXRDb21wb25lbnRBdHRyaWJ1dGUocHJvcHMuY29uZmlnLCAnZGlzcGxheVRlbXBsYXRlJywgJ1BsZWFzZSBzcGVjaWZ5IGEgZGlzcGxheSB0ZW1wbGF0ZScpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJvcGVydGllcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IHByb3BlcnR5ID0gcHJvcGVydGllc1tpXTtcbiAgICAgICAgICAgIGxhYmVsID0gbGFiZWwucmVwbGFjZSgnQHsnICsgcHJvcGVydHkgKyBcIn1cIiwgcm93W3Byb3BlcnR5XSk7XG5cbiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSAhPT0gJ2xhYmVsJykge1xuICAgICAgICAgICAgICAgIHZhbFtwcm9wZXJ0eV0gPSByb3dbcHJvcGVydHldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFsLl9fb3VpX2xhYmVsID0gbGFiZWw7XG4gICAgICAgIHZhbC50b1N0cmluZyA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBsYWJlbDtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdmFsO1xuICAgIH1cblxuICAgIGNvbnN0IHNldFNlbGVjdGlvbkFzVmFsdWUgPSAoKSA9PiB7XG4gICAgICAgIGlmIChjdXJyZW50U2VsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCB2YWwgPSBzZXR1cFZhbCgpO1xuICAgICAgICAgICAgc2V0VmFsdWUodmFsKTtcbiAgICAgICAgICAgIGJhc2UuaGFuZGxlVmFsdWVDaGFuZ2UodmFsKTtcbiAgICAgICAgICAgIGhhbmRsZUNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgb3BlblNlYXJjaCA9ICgpID0+IHtcbiAgICAgICAgc2V0T3Blbih0cnVlKTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2xlYXJWYWx1ZSA9ICgpID0+IHtcbiAgICAgICAgYmFzZS5oYW5kbGVWYWx1ZUNoYW5nZShudWxsKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEwMCBsb29rdXAgcm93IG5vLW1hcmdpbiBuby1wYWRkaW5nIG91aS1mb3JtLWl0ZW1cIlxuICAgICAgICAgICAgIHN0eWxlPXtVdGlscy5tZXJnZVN0eWxlcyh7XG4gICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgICAgICAgICAgICAgbWluV2lkdGg6IG1pbldpZHRoLFxuICAgICAgICAgICAgICAgICBtYXJnaW46IG1hcmdpbixcbiAgICAgICAgICAgICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogYmFzZS5oYXNFcnJvciA/ICcyMHB4JyA6ICc0cHgnLFxuICAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICc4cHgnXG4gICAgICAgICAgICAgfSwgcHJvcHMuY29uZmlnKX0+XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgIWJhc2UuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2NvbC0qLSonfSBzdHlsZT17e3dpZHRoOiAnNzJweCcsIGhlaWdodDogJzEwMCUnfX0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7aGVpZ2h0OiAnMTAwJSd9fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17J291dGxpbmVkJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29wZW5TZWFyY2h9XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17YmFzZS5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJzZWFyY2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLlxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnY29sLSotKiBuby1tYXJnaW4gbm8tcGFkZGluZyd9XG4gICAgICAgICAgICAgICAgIHN0eWxlPXt7d2lkdGg6ICFiYXNlLmRpc2FibGVkID8gJ2NhbGMoMTAwJSAtIDcycHgpJyA6ICcxMDAlJywgbWFyZ2luQm90dG9tOiB2YWx1ZSA/ICcwJyA6ICc4cHgnLCBwb3NpdGlvbjogJ3JlbGF0aXZlJ319PlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgIWJhc2UucmVxdWlyZWQgJiYgIWJhc2UuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e3dpZHRoOiAnMzJweCcsIGhlaWdodDogJzMycHgnLCBwb3NpdGlvbjogJ2Fic29sdXRlJywgcmlnaHQ6IDgsIHpJbmRleDogMTAwMDB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17J291dGxpbmVkJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtjbGVhclZhbHVlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBpZD17XCJDTEVBUlwifT48L0ljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8VGV4dEZpZWxkXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7bWFyZ2luVG9wOiAnMCcsIHdpZHRoOiBwcm9wcy5jb25maWcuYXR0cmlidXRlcz8uc3R5bGU/LndpZHRoIHx8ICdjYWxjKDEwMCUgLSAycHgpJ319XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ9e2Jhc2UucmVxdWlyZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17YmFzZS5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9eyFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLmF0dHJpYnV0ZXMpICYmICFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLmF0dHJpYnV0ZXNbJ2xhYmVsJ10pID8gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXNbJ2xhYmVsJ10gOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWU/Ll9fb3VpX2xhYmVsIHx8IHZhbHVlPy5kYXRhUmVjb3JkRGVzY3JpcHRpb24gfHwgZGVmYXVsdFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3Byb3BzLmNsYXNzTmFtZSB8fCAnbG9va3VwLWZpZWxkLWlucHV0J31cbiAgICAgICAgICAgICAgICAgICAgZXJyb3I9e2Jhc2UuaGFzRXJyb3J9XG4gICAgICAgICAgICAgICAgICAgIGhlbHBlclRleHQ9e2Jhc2UuZXJyb3JNZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICBtYXJnaW49XCJkZW5zZVwiPlxuICAgICAgICAgICAgICAgIDwvVGV4dEZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8RGlhbG9nIG9wZW49e29wZW59IG9uQ2xvc2U9e2hhbmRsZUNsb3NlfSBhcmlhLWxhYmVsbGVkYnk9XCJmb3JtLWRpYWxvZy10aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIG1heFdpZHRoPXtmYWxzZX0gLy8gSW1wb3J0YW50IHRvIGRpc2FibGUgYnVpbHQtaW4gbWF4V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgUGFwZXJQcm9wcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgc3g6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKHByb3BzLmNvbmZpZywgJ3BpY2tlckxpc3RXaWR0aCcsIDgwMCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGg6ICc5MHZ3J1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUJhY2tkcm9wQ2xpY2s9e3RydWV9PlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogXCI4cHhcIixcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjRweFwiLFxuICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IFwiY2FsYyg1MDh2aCArIDY0cHgpXCJcbiAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgPERpYWxvZ1RpdGxlIGlkPVwiYWxlcnQtZGlhbG9nLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcuYXR0cmlidXRlcykgJiYgIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcuYXR0cmlidXRlcz8ucGlja2VyTGFiZWwpID8gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnBpY2tlckxhYmVsIDogcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3ttYXhIZWlnaHQ6IFwiY2FsYygzOHZoIC0gNTJweClcIiwgb3ZlcmZsb3c6IFwiYXV0b1wiLCBtaW5IZWlnaHQ6IFwiMjUwcHhcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPERhdGFHcmlkIGNvbmZpZz17cHJvcHMuY29uZmlnLmdyaWR9IGhhbmRsZT17cHJvcHMuZ3JpZEhhbmRsZX0gcmVmPXtSZWFjdC5jcmVhdGVSZWYoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0gb25TZWxlY3Rpb25DaGFuZ2U9eyhzZWxlY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50U2VsZWN0aW9uKHNlbGVjdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAgIH19Lz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3twYWRkaW5nOiBcIjRweFwiLCBoZWlnaHQ6IFwiNTJweFwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RGlhbG9nQWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfSBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtzZXRTZWxlY3Rpb25Bc1ZhbHVlfSBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e1V0aWxzLmlzTnVsbChjdXJyZW50U2VsZWN0aW9uKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0RpYWxvZ0FjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9EaWFsb2c+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59KTtcblxuZXhwb3J0IGNvbnN0IExvb2t1cEZpZWxkID0gUmVhY3QubWVtbygocHJvcHMpID0+IHtcbiAgICBjb25zdCBbZ3JpZEhhbmRsZV0gPSBSZWFjdC51c2VTdGF0ZSh7fSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8QmFzZUZpZWxkIHsuLi5wcm9wc30gaGFuZGxlPXtwcm9wcy5oYW5kbGV9IGdldENoaWxkcmVuPXtcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGdyaWRIYW5kbGUpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICB2YWx1ZVBhcnNlcj17KHZhbHVlLCBpbmJvdW5kKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJMT09LVVAgVkFMVUUgV0lUSCBOTyBJRCBGT1IgOiBcIiArIHByb3BzLmNvbmZpZy5pZCwgdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluYm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaW5pdFZhbCA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRWYWwudG9TdHJpbmcgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpbml0VmFsLmRhdGFSZWNvcmREZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5pdFZhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgICB7YmFzZSA9PlxuICAgICAgICAgICAgICAgIDxMb29rdXBGaWVsZENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICBncmlkSGFuZGxlPXtncmlkSGFuZGxlfVxuICAgICAgICAgICAgICAgICAgICBiYXNlPXtiYXNlfVxuICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9PlxuICAgICAgICAgICAgICAgIDwvTG9va3VwRmllbGRDb21wb25lbnQ+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvQmFzZUZpZWxkPlxuICAgICk7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgTG9va3VwRmllbGQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFDLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNELElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLGNBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFNBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFdBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFXLFlBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFZLEtBQUEsR0FBQWIsc0JBQUEsQ0FBQUMsT0FBQTtBQUEyQixTQUFBRCx1QkFBQWMsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUFBLFNBQUFHLFNBQUEsV0FBQUEsUUFBQSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsR0FBQUQsTUFBQSxDQUFBQyxNQUFBLENBQUFDLElBQUEsZUFBQUMsQ0FB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
248
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9VdGlscyIsIl9UZXh0RmllbGQiLCJfSWNvbkJ1dHRvbiIsIl9TZWFyY2giLCJfRGlhbG9nIiwiX0RpYWxvZ0FjdGlvbnMiLCJfQnV0dG9uIiwiX0Jhc2VGaWVsZCIsIl9EYXRhR3JpZCIsIl9PYnNlcnZhYmxlIiwiX0RpYWxvZ1RpdGxlIiwiX0ljb24iLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZXh0ZW5kcyIsIk9iamVjdCIsImFzc2lnbiIsImJpbmQiLCJuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidCIsInIiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsIkxvb2t1cEZpZWxkQ29tcG9uZW50IiwiZXhwb3J0cyIsIlJlYWN0IiwibWVtbyIsInByb3BzIiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1IiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1MiIsIl9wcm9wcyRjb25maWckYXR0cmlidTMiLCJfcHJvcHMkY29uZmlnJGF0dHJpYnU0IiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1NSIsIl9wcm9wcyRjb25maWckYXR0cmlidTYiLCJfcHJvcHMkY29uZmlnJGF0dHJpYnU3IiwiX3Byb3BzJGNvbmZpZyRhdHRyaWJ1OCIsImN1cnJlbnRTZWxlY3Rpb24iLCJzZXRDdXJyZW50U2VsZWN0aW9uIiwidXNlU3RhdGUiLCJvcGVuIiwic2V0T3BlbiIsIndpZHRoIiwiY29uZmlnIiwiYXR0cmlidXRlcyIsInN0eWxlIiwibWluV2lkdGgiLCJoZWlnaHQiLCJVdGlscyIsImlzTnVsbCIsIm1hcmdpbiIsImRlZmF1bHRWYWx1ZSIsInZhbHVlIiwic2V0VmFsdWUiLCJpZCIsImJhc2UiLCJoYW5kbGVDbG9zZSIsImV2ZW50TWFuYWdlciIsImNsZWFyQ29tcG9uZW50RXZlbnRMaXN0ZW5lcnMiLCJncmlkSGFuZGxlIiwiYXBpIiwidXNlRWZmZWN0IiwiX19vdWlfbGFiZWwiLCJjb25zb2xlIiwibG9nIiwibGFiZWwiLCJjb21wdXRlRGlzcGxheUxhYmVsIiwidG9TdHJpbmciLCJyb3ciLCJnZXRDb21wb25lbnRBdHRyaWJ1dGUiLCJwcm9wZXJ0aWVzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImkiLCJwcm9wZXJ0eSIsInJlcGxhY2UiLCJncmlkIiwic2V0dXBWYWwiLCJ2YWwiLCJzZXRTZWxlY3Rpb25Bc1ZhbHVlIiwiaGFuZGxlVmFsdWVDaGFuZ2UiLCJvcGVuU2VhcmNoIiwiY2xlYXJWYWx1ZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJtZXJnZVN0eWxlcyIsIm1hcmdpbkJvdHRvbSIsImhhc0Vycm9yIiwibWFyZ2luVG9wIiwiZGlzYWJsZWQiLCJ2YXJpYW50Iiwib25DbGljayIsInBvc2l0aW9uIiwicmVxdWlyZWQiLCJyaWdodCIsInpJbmRleCIsInJlYWRPbmx5IiwiZGF0YVJlY29yZERlc2NyaXB0aW9uIiwiZXJyb3IiLCJoZWxwZXJUZXh0IiwiZXJyb3JNZXNzYWdlIiwic2l6ZSIsIm9uQ2xvc2UiLCJtYXhXaWR0aCIsIlBhcGVyUHJvcHMiLCJzeCIsImRpc2FibGVCYWNrZHJvcENsaWNrIiwib3ZlcmZsb3ciLCJib3JkZXJSYWRpdXMiLCJtYXhIZWlnaHQiLCJwaWNrZXJMYWJlbCIsIm1pbkhlaWdodCIsIkRhdGFHcmlkIiwiaGFuZGxlIiwicmVmIiwiY3JlYXRlUmVmIiwidmlld0lkIiwib25TZWxlY3Rpb25DaGFuZ2UiLCJzZWxlY3Rpb24iLCJwYWRkaW5nIiwiY29sb3IiLCJMb29rdXBGaWVsZCIsIkJhc2VGaWVsZCIsImdldENoaWxkcmVuIiwiY2hpbGRyZW4iLCJwdXNoIiwidmFsdWVQYXJzZXIiLCJpbmJvdW5kIiwid2FybiIsImluaXRWYWwiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL0xvb2t1cEZpZWxkLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyLvu79pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4uLy4uL1V0aWxzJztcbmltcG9ydCBUZXh0RmllbGQgZnJvbSAnQG11aS9tYXRlcmlhbC9UZXh0RmllbGQnO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSAnQG11aS9tYXRlcmlhbC9JY29uQnV0dG9uJztcbmltcG9ydCBTZWFyY2hJY29uIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvU2VhcmNoJztcbmltcG9ydCBEaWFsb2cgZnJvbSAnQG11aS9tYXRlcmlhbC9EaWFsb2cnO1xuaW1wb3J0IERpYWxvZ0FjdGlvbnMgZnJvbSAnQG11aS9tYXRlcmlhbC9EaWFsb2dBY3Rpb25zJztcbmltcG9ydCBCdXR0b24gZnJvbSAnQG11aS9tYXRlcmlhbC9CdXR0b24nO1xuaW1wb3J0IHtCYXNlRmllbGR9IGZyb20gXCIuL0Jhc2VGaWVsZFwiO1xuaW1wb3J0IHtEYXRhR3JpZH0gZnJvbSBcIi4uL0RhdGFHcmlkXCI7XG5pbXBvcnQgZXZlbnRNYW5hZ2VyIGZyb20gXCIuLi8uLi9ldmVudC9PYnNlcnZhYmxlXCI7XG5pbXBvcnQgRGlhbG9nVGl0bGUgZnJvbSAnQG11aS9tYXRlcmlhbC9EaWFsb2dUaXRsZSc7XG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vSWNvblwiO1xuXG5leHBvcnQgY29uc3QgTG9va3VwRmllbGRDb21wb25lbnQgPSBSZWFjdC5tZW1vKChwcm9wcykgPT4ge1xuICAgIGNvbnN0IFtjdXJyZW50U2VsZWN0aW9uLCBzZXRDdXJyZW50U2VsZWN0aW9uXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB3aWR0aCA9IHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5zdHlsZT8ud2lkdGggPyBwcm9wcy5jb25maWcuYXR0cmlidXRlcy5zdHlsZS53aWR0aCA6IFwiMTAwJVwiO1xuICAgIGNvbnN0IG1pbldpZHRoID0gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlPy5taW5XaWR0aCA/IHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzLnN0eWxlLm1pbldpZHRoIDogXCIyNDBweFwiO1xuICAgIGNvbnN0IGhlaWdodCA9ICFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlPy5oZWlnaHQpID8gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXMuc3R5bGUuaGVpZ2h0IDogJzQxcHgnO1xuICAgIGNvbnN0IG1hcmdpbiA9ICFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlPy5tYXJnaW4pID8gcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXMuc3R5bGUubWFyZ2luIDogJzRweCAwJztcbiAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBVdGlscy5pc051bGwocHJvcHMudmFsdWUpID8gJycgOiBwcm9wcy52YWx1ZTtcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKFV0aWxzLmlzTnVsbChwcm9wcy52YWx1ZSkgPyBudWxsIDogcHJvcHMudmFsdWUuaWQpO1xuICAgIGNvbnN0IGJhc2UgPSBwcm9wcy5iYXNlO1xuXG4gICAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgICAgICBzZXRDdXJyZW50U2VsZWN0aW9uKG51bGwpO1xuICAgICAgICBldmVudE1hbmFnZXIuY2xlYXJDb21wb25lbnRFdmVudExpc3RlbmVycyhwcm9wcy5ncmlkSGFuZGxlLmFwaS5pZCk7XG4gICAgfTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIEZpcnN0LXRpbWUgLyBwcm9ncmFtbWF0aWMgYmluZGluZzogdGhlIGJvdW5kIHZhbHVlIGNhcnJpZXMgdGhlIHJhdyByb3dcbiAgICAgICAgLy8gYnV0IG5vIGRpc3BsYXkgbGFiZWwgKHRoYXQgd2FzIG9ubHkgY29tcHV0ZWQgb24gdXNlciBzZWxlY3Rpb24gdmlhXG4gICAgICAgIC8vIHNldHVwVmFsKSwgc28gdGhlIGZpZWxkIHJlbmRlcmVkIGJsYW5rLiBBcHBseSB0aGUgZGlzcGxheVRlbXBsYXRlIGhlcmVcbiAgICAgICAgLy8gc28gYSBib3VuZCB2YWx1ZSBzaG93cyB0aGUgc2FtZSBsYWJlbCBhcyBhIHBpY2tlZCBvbmUuXG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKGJhc2UudmFsdWUpICYmIFV0aWxzLmlzTnVsbChiYXNlLnZhbHVlLl9fb3VpX2xhYmVsKSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJcXG5cXG5cXG49PT09PT09PT09PT09PT09PT09PT09PT09TE9PS1VQIFZBTFVFIFdJVEggTk8gTEFCRUwgRk9SIDogXCIgKyBwcm9wcy5jb25maWcuaWQsIGJhc2UudmFsdWUpO1xuICAgICAgICAgICAgbGV0IGxhYmVsID0gY29tcHV0ZURpc3BsYXlMYWJlbChiYXNlLnZhbHVlKTtcbiAgICAgICAgICAgIGJhc2UudmFsdWUuX19vdWlfbGFiZWwgPSBsYWJlbDtcbiAgICAgICAgICAgIGJhc2UudmFsdWUudG9TdHJpbmcgPSAoKSA9PiBsYWJlbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFZhbHVlKGJhc2UudmFsdWUpO1xuICAgIH0sIFtiYXNlLnZhbHVlXSk7XG5cbiAgICAvLyBSZXNvbHZlIHRoZSBjb25maWd1cmVkIGRpc3BsYXlUZW1wbGF0ZSAoZS5nLiBcIkB7ZGF0YVJlY29yZERlc2NyaXB0aW9ufVwiKVxuICAgIC8vIGFnYWluc3QgYSByb3cncyBwcm9wZXJ0aWVzLiBTaGFyZWQgYnkgc2V0dXBWYWwgKHNlbGVjdGlvbikgYW5kIHRoZVxuICAgIC8vIGJhc2UtdmFsdWUgYmluZGluZyBhYm92ZSBzbyBib3RoIHByb2R1Y2UgYW4gaWRlbnRpY2FsIGxhYmVsLlxuICAgIGNvbnN0IGNvbXB1dGVEaXNwbGF5TGFiZWwgPSAocm93KSA9PiB7XG4gICAgICAgIGxldCBsYWJlbCA9IFV0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShwcm9wcy5jb25maWcsICdkaXNwbGF5VGVtcGxhdGUnLCAnUGxlYXNlIHNwZWNpZnkgYSBkaXNwbGF5IHRlbXBsYXRlJyk7XG4gICAgICAgIGxldCBwcm9wZXJ0aWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocm93KTtcbiAgICAgICAgY29uc29sZS5sb2coXCIqKipMT09LVVAgRElTUExBWSBURU1QTEFURSA6IFwiICsgbGFiZWwsIHByb3BlcnRpZXMpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBwcm9wZXJ0eSA9IHByb3BlcnRpZXNbaV07XG4gICAgICAgICAgICBsYWJlbCA9IGxhYmVsLnJlcGxhY2UoJ0B7JyArIHByb3BlcnR5ICsgJ30nLCByb3dbcHJvcGVydHldKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUFJPUCA6IFwiICsgbGFiZWwsIHByb3BlcnR5LCByb3dbcHJvcGVydHldKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9O1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMuY29uZmlnICYmIHByb3BzLmNvbmZpZy5ncmlkKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFwcm9wcy5jb25maWcuZ3JpZC5hdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzLmNvbmZpZy5ncmlkLmF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwcm9wcy5jb25maWcuZ3JpZC5hdHRyaWJ1dGVzWydtYXJnaW4nXSA9IFV0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShwcm9wcy5jb25maWcuZ3JpZCwgJ21hcmdpbicsICcxNnB4Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIFtdKTtcblxuICAgIGZ1bmN0aW9uIHNldHVwVmFsKCkge1xuICAgICAgICBsZXQgdmFsID0ge307XG4gICAgICAgIGxldCByb3cgPSBjdXJyZW50U2VsZWN0aW9uWzBdO1xuICAgICAgICBsZXQgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHJvdyk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wZXJ0aWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgcHJvcGVydHkgPSBwcm9wZXJ0aWVzW2ldO1xuICAgICAgICAgICAgaWYgKHByb3BlcnR5ICE9PSAnbGFiZWwnKSB7XG4gICAgICAgICAgICAgICAgdmFsW3Byb3BlcnR5XSA9IHJvd1twcm9wZXJ0eV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbGFiZWwgPSBjb21wdXRlRGlzcGxheUxhYmVsKHJvdyk7XG4gICAgICAgIHZhbC5fX291aV9sYWJlbCA9IGxhYmVsO1xuICAgICAgICB2YWwudG9TdHJpbmcgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbGFiZWw7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHZhbDtcbiAgICB9XG5cbiAgICBjb25zdCBzZXRTZWxlY3Rpb25Bc1ZhbHVlID0gKCkgPT4ge1xuICAgICAgICBpZiAoY3VycmVudFNlbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsZXQgdmFsID0gc2V0dXBWYWwoKTtcbiAgICAgICAgICAgIHNldFZhbHVlKHZhbCk7XG4gICAgICAgICAgICBiYXNlLmhhbmRsZVZhbHVlQ2hhbmdlKHZhbCk7XG4gICAgICAgICAgICBoYW5kbGVDbG9zZSgpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IG9wZW5TZWFyY2ggPSAoKSA9PiB7XG4gICAgICAgIHNldE9wZW4odHJ1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGNsZWFyVmFsdWUgPSAoKSA9PiB7XG4gICAgICAgIGJhc2UuaGFuZGxlVmFsdWVDaGFuZ2UobnVsbCk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0xMDAgbG9va3VwIHJvdyBuby1tYXJnaW4gbm8tcGFkZGluZyBvdWktZm9ybS1pdGVtXCJcbiAgICAgICAgICAgICBzdHlsZT17VXRpbHMubWVyZ2VTdHlsZXMoe1xuICAgICAgICAgICAgICAgICB3aWR0aDogd2lkdGgsXG4gICAgICAgICAgICAgICAgIG1pbldpZHRoOiBtaW5XaWR0aCxcbiAgICAgICAgICAgICAgICAgbWFyZ2luOiBtYXJnaW4sXG4gICAgICAgICAgICAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206IGJhc2UuaGFzRXJyb3IgPyAnMjBweCcgOiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgbWFyZ2luVG9wOiAnOHB4J1xuICAgICAgICAgICAgIH0sIHByb3BzLmNvbmZpZyl9PlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICFiYXNlLmRpc2FibGVkICYmXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydjb2wtKi0qJ30gc3R5bGU9e3t3aWR0aDogJzcycHgnLCBoZWlnaHQ6ICcxMDAlJ319PlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e2hlaWdodDogJzEwMCUnfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9eydvdXRsaW5lZCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvcGVuU2VhcmNofVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Jhc2UuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwic2VhcmNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5cbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2NvbC0qLSogbm8tbWFyZ2luIG5vLXBhZGRpbmcnfVxuICAgICAgICAgICAgICAgICBzdHlsZT17e3dpZHRoOiAhYmFzZS5kaXNhYmxlZCA/ICdjYWxjKDEwMCUgLSA3MnB4KScgOiAnMTAwJScsIG1hcmdpbkJvdHRvbTogdmFsdWUgPyAnMCcgOiAnOHB4JywgcG9zaXRpb246ICdyZWxhdGl2ZSd9fT5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICFiYXNlLnJlcXVpcmVkICYmICFiYXNlLmRpc2FibGVkICYmXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3t3aWR0aDogJzMycHgnLCBoZWlnaHQ6ICczMnB4JywgcG9zaXRpb246ICdhYnNvbHV0ZScsIHJpZ2h0OiA4LCB6SW5kZXg6IDEwMDAwfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9eydvdXRsaW5lZCd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17Y2xlYXJWYWx1ZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gaWQ9e1wiQ0xFQVJcIn0+PC9JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPFRleHRGaWVsZFxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e21hcmdpblRvcDogJzAnLCB3aWR0aDogcHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnN0eWxlPy53aWR0aCB8fCAnY2FsYygxMDAlIC0gMnB4KSd9fVxuICAgICAgICAgICAgICAgICAgICBpZD17cHJvcHMuaWR9XG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPXtiYXNlLnJlcXVpcmVkfVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Jhc2UuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPXshVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzKSAmJiAhVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzWydsYWJlbCddKSA/IHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzWydsYWJlbCddIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlPy5fX291aV9sYWJlbCB8fCB2YWx1ZT8uZGF0YVJlY29yZERlc2NyaXB0aW9uIHx8IGRlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtwcm9wcy5jbGFzc05hbWUgfHwgJ2xvb2t1cC1maWVsZC1pbnB1dCd9XG4gICAgICAgICAgICAgICAgICAgIGVycm9yPXtiYXNlLmhhc0Vycm9yfVxuICAgICAgICAgICAgICAgICAgICBoZWxwZXJUZXh0PXtiYXNlLmVycm9yTWVzc2FnZX1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luPVwiZGVuc2VcIj5cbiAgICAgICAgICAgICAgICA8L1RleHRGaWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPERpYWxvZyBvcGVuPXtvcGVufSBvbkNsb3NlPXtoYW5kbGVDbG9zZX0gYXJpYS1sYWJlbGxlZGJ5PVwiZm9ybS1kaWFsb2ctdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBtYXhXaWR0aD17ZmFsc2V9IC8vIEltcG9ydGFudCB0byBkaXNhYmxlIGJ1aWx0LWluIG1heFdpZHRoXG4gICAgICAgICAgICAgICAgICAgIFBhcGVyUHJvcHM9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHN4OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFV0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShwcm9wcy5jb25maWcsICdwaWNrZXJMaXN0V2lkdGgnLCA4MDApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiAnOTB2dydcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVCYWNrZHJvcENsaWNrPXt0cnVlfT5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IFwiOHB4XCIsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCI0cHhcIixcbiAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBcImNhbGMoNTA4dmggKyA2NHB4KVwiXG4gICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgIDxEaWFsb2dUaXRsZSBpZD1cImFsZXJ0LWRpYWxvZy10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLmF0dHJpYnV0ZXMpICYmICFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLmF0dHJpYnV0ZXM/LnBpY2tlckxhYmVsKSA/IHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5waWNrZXJMYWJlbCA6IHByb3BzLmNvbmZpZy5hdHRyaWJ1dGVzPy5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L0RpYWxvZ1RpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7bWF4SGVpZ2h0OiBcImNhbGMoMzh2aCAtIDUycHgpXCIsIG92ZXJmbG93OiBcImF1dG9cIiwgbWluSGVpZ2h0OiBcIjI1MHB4XCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxEYXRhR3JpZCBjb25maWc9e3Byb3BzLmNvbmZpZy5ncmlkfSBoYW5kbGU9e3Byb3BzLmdyaWRIYW5kbGV9IHJlZj17UmVhY3QuY3JlYXRlUmVmKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9IG9uU2VsZWN0aW9uQ2hhbmdlPXsoc2VsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudFNlbGVjdGlvbihzZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICB9fS8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7cGFkZGluZzogXCI0cHhcIiwgaGVpZ2h0OiBcIjUycHhcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPERpYWxvZ0FjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVDbG9zZX0gY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17c2V0U2VsZWN0aW9uQXNWYWx1ZX0gY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtVdGlscy5pc051bGwoY3VycmVudFNlbGVjdGlvbil9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPa1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9EaWFsb2dBY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvRGlhbG9nPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufSk7XG5cbmV4cG9ydCBjb25zdCBMb29rdXBGaWVsZCA9IFJlYWN0Lm1lbW8oKHByb3BzKSA9PiB7XG4gICAgY29uc3QgW2dyaWRIYW5kbGVdID0gUmVhY3QudXNlU3RhdGUoe30pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEJhc2VGaWVsZCB7Li4ucHJvcHN9IGhhbmRsZT17cHJvcHMuaGFuZGxlfSBnZXRDaGlsZHJlbj17XG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGNoaWxkcmVuID0gW107XG4gICAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChncmlkSGFuZGxlKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgdmFsdWVQYXJzZXI9eyh2YWx1ZSwgaW5ib3VuZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS5pZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiTE9PS1VQIFZBTFVFIFdJVEggTk8gSUQgRk9SIDogXCIgKyBwcm9wcy5jb25maWcuaWQsIHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmJvdW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGluaXRWYWwgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0VmFsLnRvU3RyaW5nID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5pdFZhbC5kYXRhUmVjb3JkRGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGluaXRWYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgICAge2Jhc2UgPT5cbiAgICAgICAgICAgICAgICA8TG9va3VwRmllbGRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgZ3JpZEhhbmRsZT17Z3JpZEhhbmRsZX1cbiAgICAgICAgICAgICAgICAgICAgYmFzZT17YmFzZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLnByb3BzfT5cbiAgICAgICAgICAgICAgICA8L0xvb2t1cEZpZWxkQ29tcG9uZW50PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L0Jhc2VGaWVsZD5cbiAgICApO1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0IExvb2t1cEZpZWxkO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQyxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDRCxJQUFBQyxNQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFMLHNCQUFB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
@@ -23,6 +23,7 @@ var _SignaturePanel = _interopRequireDefault(require("../SignaturePanel"));
23
23
  var _Dialog = _interopRequireDefault(require("../Dialog"));
24
24
  var _Calendar = _interopRequireDefault(require("../Calendar"));
25
25
  var _Video = _interopRequireDefault(require("../media/Video"));
26
+ var _VCSettings = _interopRequireDefault(require("../media/VCSettings"));
26
27
  var _VCRoom = _interopRequireDefault(require("../media/VCRoom"));
27
28
  var _VideoPlayer = _interopRequireDefault(require("../media/VideoPlayer"));
28
29
  var _Portlet = _interopRequireDefault(require("../Portlet"));
@@ -221,6 +222,13 @@ const Layout = props => {
221
222
  key: index,
222
223
  viewId: props.viewId
223
224
  });
225
+ case 'vcSettings':
226
+ return /*#__PURE__*/_react.default.createElement(_VCSettings.default, {
227
+ config: component,
228
+ handle: createComponentHandle(component),
229
+ key: index,
230
+ viewId: props.viewId
231
+ });
224
232
  case 'videoPlayer':
225
233
  return /*#__PURE__*/_react.default.createElement(_VideoPlayer.default, {
226
234
  config: component,
@@ -306,7 +314,9 @@ const Layout = props => {
306
314
  viewId: props.viewId
307
315
  });
308
316
  default:
309
- return /*#__PURE__*/_react.default.createElement("div", null, 'Unsupported component type ' + component.type);
317
+ return /*#__PURE__*/_react.default.createElement("div", {
318
+ key: index
319
+ }, 'Unsupported component type ' + component.type);
310
320
  }
311
321
  }
312
322
  }
@@ -425,7 +435,9 @@ const Layout = props => {
425
435
  }, renderComponent(component, null));
426
436
  })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, layout.components.map((component, index) => {
427
437
  let className = _Utils.default.getComponentAttribute(component, 'className', '');
428
- return component.type === 'layout' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderComponent(component, index)) : /*#__PURE__*/_react.default.createElement(_react.Fragment, {
438
+ return component.type === 'layout' ? /*#__PURE__*/_react.default.createElement(_react.Fragment, {
439
+ key: index
440
+ }, renderComponent(component, index)) : /*#__PURE__*/_react.default.createElement(_react.Fragment, {
429
441
  key: index
430
442
  }, renderComponent(component, null));
431
443
  }));
@@ -438,4 +450,4 @@ const Layout = props => {
438
450
  }, render(props.config));
439
451
  };
440
452
  exports.Layout = Layout;
441
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX09ic2VydmFibGUiLCJfVG9vbGJhciIsIl9EYXRhR3JpZCIsIl9IdG1sUGFuZWwiLCJfVHVybnN0aWxlIiwiX1NpZ25hdHVyZVRlbXBsYXRlRGVzaWduZXIiLCJfVGVtcGxhdGVEZXNpZ25lciIsIl9BbGVydEJhciIsIl9UaXRsZUJhciIsIl9TdGVwcGVyVGl0bGVCYXIiLCJfVHJlZSIsIl9Gb3JtIiwiX0RvY3VtZW50Vmlld2VyIiwiX1NpZ25hdHVyZVBhbmVsIiwiX0RpYWxvZyIsIl9DYWxlbmRhciIsIl9WaWRlbyIsIl9WQ1Jvb20iLCJfVmlkZW9QbGF5ZXIiLCJfUG9ydGxldCIsIl9UYWJQYW5lbCIsIl9Eb2N1bWVudFRlbXBsYXRlRGVzaWduZXIiLCJfQ2hhdFJvb21XcmFwcGVyIiwiX1Byb2dyZXNzVHJhY2tlciIsIl9DaGFydCIsIl9GYWNpYWxSZWdpc3RyYXRpb24iLCJfRmFjaWFsVmVyaWZpY2F0aW9uIiwiX1NwaW5uZXIiLCJfcmVhY3RSZXNpemFibGVQYW5lbHMiLCJfQ2hhdCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkxheW91dCIsInByb3BzIiwiY29tcG9uZW50SGFuZGxlcyIsIlJlYWN0IiwidXNlU3RhdGUiLCJsb2FkZWRDb21wb25lbnRzIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJrZXlDb3VudGVyIiwidXNlRWZmZWN0IiwiaGFuZGxlIiwiYXBpIiwidGFibGVSb3ciLCJfcHJvcHMkdGFibGVSb3ckaWQiLCJjb25maWciLCJpZCIsInJlcGxhY2VBbGwiLCJwYXJzZWRDb25maWciLCJVdGlscyIsInBhcnNlQ29uZmlnIiwidmlld0lkIiwiZXZlbnRNYW5hZ2VyIiwiYWRkU3Vic2NyaXB0aW9ucyIsImV2ZW50SGFuZGxpbmdDb25maWciLCJhZGRTeXN0ZW1TdWJzY3JpcHRpb25zIiwiaXNOdWxsIiwiZXZhbHVhdGVCb29sZWFuRXhwcmVzc2lvbiIsImNyZWF0ZUNvbXBvbmVudEhhbmRsZSIsImNvbXBvbmVudCIsInVzZUxheW91dEVmZmVjdCIsInVuaXF1ZUlkIiwicHJlZml4IiwiX2MiLCJEYXRlIiwibm93IiwidG9TdHJpbmciLCJNYXRoIiwicmFuZG9tIiwic2xpY2UiLCJzZXRNaXNzaW5nQ29tcG9uZW50SWRzIiwibGF5b3V0Iiwia2V5IiwiY29tcG9uZW50cyIsImxlbmd0aCIsInR5cGUiLCJyZW5kZXJDb21wb25lbnQiLCJpbmRleCIsImNyZWF0ZUVsZW1lbnQiLCJEYXRhR3JpZCIsImNsYXNzTmFtZSIsImdldENvbXBvbmVudEF0dHJpYnV0ZSIsIlRyZWUiLCJnZXRDaGlsZHJlbiIsImNoaWxkcmVuIiwicHJvcGVydGllcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wZXJ0eSIsImNvbXBvbmVudEhhbmRsZSIsInB1c2giLCJtb3JlQ2hpbGRyZW4iLCJjaGlsZCIsInZhbCIsInJlZnJlc2giLCJnZXREZWZhdWx0Q29tcG9uZW50Q29udGFpbmVyU3R5bGUiLCJtZXJnZVN0eWxlcyIsIndpZHRoIiwiaGVpZ2h0IiwibWFyZ2luIiwibWluSGVpZ2h0IiwiZ2V0TGF5b3V0U3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJzdHlsZSIsIm92ZXJmbG93IiwiYm9yZGVyIiwibWluV2lkdGgiLCJwYWRkaW5nIiwiZGlzcGxheSIsInJlbmRlcldpdGhTcGxpdHRlcnMiLCJkaXJlY3Rpb24iLCJvcmllbnRhdGlvbiIsImhhbmRsZUNsYXNzIiwiZm9yRWFjaCIsIlNlcGFyYXRvciIsImNvbmNhdCIsIlBhbmVsIiwiZGVmYXVsdFNpemUiLCJzcGxpdHRlckRlZmF1bHRTaXplIiwibWluU2l6ZSIsInNwbGl0dGVyTWluU2l6ZSIsIm1heFNpemUiLCJzcGxpdHRlck1heFNpemUiLCJjb2xsYXBzaWJsZSIsInNwbGl0dGVyQ29sbGFwc2libGUiLCJHcm91cCIsInJlbmRlciIsInNwbGl0dGVyIiwiRnJhZ21lbnQiLCJtYXAiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9MYXlvdXQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbIu+7v2ltcG9ydCBSZWFjdCwge0ZyYWdtZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi4vLi4vVXRpbHMnO1xuaW1wb3J0IGV2ZW50TWFuYWdlciBmcm9tICcuLi8uLi9ldmVudC9PYnNlcnZhYmxlJztcbmltcG9ydCBUb29sYmFyIGZyb20gJy4uL1Rvb2xiYXInO1xuaW1wb3J0IHtEYXRhR3JpZH0gZnJvbSAnLi4vRGF0YUdyaWQnO1xuaW1wb3J0IEh0bWxQYW5lbCBmcm9tICcuLi9IdG1sUGFuZWwnO1xuaW1wb3J0IFR1cm5zdGlsZSBmcm9tICcuLi9UdXJuc3RpbGUnO1xuaW1wb3J0IFNpZ25hdHVyZVRlbXBsYXRlRGVzaWduZXIgZnJvbSAnLi4vc2lnbmF0dXJlcy9TaWduYXR1cmVUZW1wbGF0ZURlc2lnbmVyJztcbmltcG9ydCBUZW1wbGF0ZURlc2lnbmVyIGZyb20gJy4uL1RlbXBsYXRlRGVzaWduZXInO1xuaW1wb3J0IEFsZXJ0QmFyIGZyb20gJy4uL0FsZXJ0QmFyJztcbmltcG9ydCBUaXRsZUJhciBmcm9tICcuLi9UaXRsZUJhcic7XG5pbXBvcnQgU3RlcHBlclRpdGxlQmFyIGZyb20gJy4uL1N0ZXBwZXJUaXRsZUJhcic7XG5pbXBvcnQge1RyZWV9IGZyb20gJy4uL1RyZWUnO1xuaW1wb3J0IEZvcm0gZnJvbSAnLi4vZm9ybS9Gb3JtJztcbmltcG9ydCBEb2N1bWVudFZpZXdlciBmcm9tICcuLi9Eb2N1bWVudFZpZXdlcic7XG5pbXBvcnQgU2lnbmF0dXJlUGFuZWwgZnJvbSAnLi4vU2lnbmF0dXJlUGFuZWwnO1xuaW1wb3J0IERpYWxvZyBmcm9tICcuLi9EaWFsb2cnO1xuaW1wb3J0IENhbGVuZGFyIGZyb20gJy4uL0NhbGVuZGFyJztcbmltcG9ydCBWaWRlbyBmcm9tICcuLi9tZWRpYS9WaWRlbyc7XG5pbXBvcnQgVkNSb29tIGZyb20gJy4uL21lZGlhL1ZDUm9vbSc7XG5pbXBvcnQgVmlkZW9QbGF5ZXIgZnJvbSAnLi4vbWVkaWEvVmlkZW9QbGF5ZXInO1xuaW1wb3J0IFBvcnRsZXQgZnJvbSAnLi4vUG9ydGxldCc7XG5pbXBvcnQgVGFiUGFuZWwgZnJvbSAnLi4vVGFiUGFuZWwnO1xuaW1wb3J0IERvY3VtZW50VGVtcGxhdGVEZXNpZ25lciBmcm9tIFwiLi4vRG9jdW1lbnRUZW1wbGF0ZURlc2lnbmVyXCI7XG5pbXBvcnQgQ2hhdFJvb21XcmFwcGVyIGZyb20gXCIuLi9tZWRpYS9jaGF0L0NoYXRSb29tV3JhcHBlclwiO1xuaW1wb3J0IFByb2dyZXNzVHJhY2tlciBmcm9tIFwiLi4vUHJvZ3Jlc3NUcmFja2VyXCI7XG5pbXBvcnQgQ2hhcnQgZnJvbSBcIi4uL0NoYXJ0XCI7XG5pbXBvcnQgRmFjaWFsUmVnaXN0cmF0aW9uIGZyb20gXCIuLi9mYWNpYWxSZWNvZ25pdGlvbi9GYWNpYWxSZWdpc3RyYXRpb25cIjtcbmltcG9ydCBGYWNpYWxWZXJpZmljYXRpb24gZnJvbSBcIi4uL2ZhY2lhbFJlY29nbml0aW9uL0ZhY2lhbFZlcmlmaWNhdGlvblwiO1xuaW1wb3J0IFNwaW5uZXIgZnJvbSBcIi4uL1NwaW5uZXJcIjtcbmltcG9ydCB7R3JvdXAgYXMgUGFuZWxHcm91cCwgUGFuZWwsIFNlcGFyYXRvciBhcyBQYW5lbFJlc2l6ZUhhbmRsZX0gZnJvbSBcInJlYWN0LXJlc2l6YWJsZS1wYW5lbHNcIjtcbmltcG9ydCBcIi4vTGF5b3V0LmNzc1wiXG5pbXBvcnQgQ2hhdCBmcm9tIFwiLi4vbWVkaWEvQ2hhdFwiO1xuXG5leHBvcnQgY29uc3QgTGF5b3V0ID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgW2NvbXBvbmVudEhhbmRsZXNdID0gUmVhY3QudXNlU3RhdGUoe30pO1xuICAgIGNvbnN0IFtsb2FkZWRDb21wb25lbnRzXSA9IFJlYWN0LnVzZVN0YXRlKFtdKTtcbiAgICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSBSZWFjdC51c2VTdGF0ZSh0cnVlKTtcbiAgICBsZXQga2V5Q291bnRlciA9IDA7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHByb3BzLmhhbmRsZS5hcGkgPSBhcGkoKTtcbiAgICAgICAgfSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wcy50YWJsZVJvdykge1xuICAgICAgICAgICAgICAgIHByb3BzLmNvbmZpZy5pZCA9IHByb3BzLmNvbmZpZy5pZCArICdfJyArIHByb3BzLnRhYmxlUm93LmlkPy5yZXBsYWNlQWxsKCctJywgJycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwcm9wcy5oYW5kbGUuYXBpID0gYXBpKCk7XG4gICAgICAgICAgICBsZXQgcGFyc2VkQ29uZmlnID0gVXRpbHMucGFyc2VDb25maWcocHJvcHMuY29uZmlnLCBwcm9wcy52aWV3SWQpO1xuICAgICAgICAgICAgZXZlbnRNYW5hZ2VyLmFkZFN1YnNjcmlwdGlvbnMocGFyc2VkQ29uZmlnLmV2ZW50SGFuZGxpbmdDb25maWcsIHByb3BzLmhhbmRsZSwgcHJvcHMudmlld0lkKTtcbiAgICAgICAgICAgIGV2ZW50TWFuYWdlci5hZGRTeXN0ZW1TdWJzY3JpcHRpb25zKHByb3BzLnZpZXdJZCwgcGFyc2VkQ29uZmlnKTtcblxuICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwocGFyc2VkQ29uZmlnLnZpc2libGUpKSB7XG4gICAgICAgICAgICAgICAgc2V0VmlzaWJsZShVdGlscy5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uKHBhcnNlZENvbmZpZy52aXNpYmxlLCBwcm9wcy5jb25maWcuaWQpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgW10pO1xuXG4gICAgZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCkge1xuICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGNvbXBvbmVudEhhbmRsZXNbY29tcG9uZW50LmlkXSkpIHtcbiAgICAgICAgICAgIGxldCBoYW5kbGUgPSB7fTtcbiAgICAgICAgICAgIGNvbXBvbmVudEhhbmRsZXNbY29tcG9uZW50LmlkXSA9IGhhbmRsZTtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tcG9uZW50SGFuZGxlc1tjb21wb25lbnQuaWRdO1xuICAgIH1cblxuICAgIFJlYWN0LnVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHByb3BzLmhhbmRsZS5hcGkgPSBhcGkoKTtcbiAgICB9LCBbXSk7XG5cbiAgICBmdW5jdGlvbiB1bmlxdWVJZChwcmVmaXgpIHtcbiAgICAgICAgLy8gdGltZSArIHJhbmRvbSArIGNvdW50ZXIsIGFsbCBiYXNlMzYgKG5vIGRhc2hlcylcbiAgICAgICAgdW5pcXVlSWQuX2MgPSAodW5pcXVlSWQuX2MgfHwgMCkgKyAxO1xuICAgICAgICByZXR1cm4gcHJlZml4ICsgRGF0ZS5ub3coKS50b1N0cmluZygzNilcbiAgICAgICAgICAgICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMilcbiAgICAgICAgICAgICsgdW5pcXVlSWQuX2MudG9TdHJpbmcoMzYpO1xuICAgIH1cblxuICAgIGNvbnN0IHNldE1pc3NpbmdDb21wb25lbnRJZHMgPSAoKSA9PiB7XG4gICAgICAgIGxldCBsYXlvdXQgPSBwcm9wcy5jb25maWc7XG4gICAgICAgIGlmICghbGF5b3V0LmlkKSB7XG4gICAgICAgICAgICBsYXlvdXQuaWQgPSB1bmlxdWVJZCgnX3BhcmVudF9sYXlvdXRfJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsYXlvdXQua2V5ID0ga2V5Q291bnRlcisrO1xuICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChsYXlvdXQuY29tcG9uZW50cykpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGF5b3V0LmNvbXBvbmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgY29tcG9uZW50ID0gbGF5b3V0LmNvbXBvbmVudHNbaV07XG4gICAgICAgICAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChjb21wb25lbnQuaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudC5pZCA9IHVuaXF1ZUlkKGxheW91dC5pZCArICdfJyArIGNvbXBvbmVudC50eXBlICsgJ18nKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb21wb25lbnQua2V5ID0ga2V5Q291bnRlcisrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIHJlbmRlckNvbXBvbmVudChjb21wb25lbnQsIGluZGV4KSB7XG4gICAgICAgIGlmIChVdGlscy5pc051bGwoY29tcG9uZW50LmlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGNvbXBvbmVudC50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGF5b3V0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxMYXlvdXQgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX0gY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlUm93PXtwcm9wcy50YWJsZVJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAndG9vbGJhcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8VG9vbGJhciBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlUm93PXtwcm9wcy50YWJsZVJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICd0YWInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFRhYlBhbmVsIGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlUm93PXtwcm9wcy50YWJsZVJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGFHcmlkJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxEYXRhR3JpZCBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Zvcm0nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEZvcm0gY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1V0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShjb21wb25lbnQsICdjbGFzc05hbWUnLCdkZWZhdWx0Rm9ybScpfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2h0bWxQYW5lbCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8SHRtbFBhbmVsIGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICd0dXJuc3RpbGUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFR1cm5zdGlsZSBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAncG9ydGxldCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8UG9ydGxldCBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RyZWUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFRyZWUgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAndGl0bGVCYXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFRpdGxlQmFyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICdzdGVwcGVyVGl0bGVCYXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFN0ZXBwZXJUaXRsZUJhciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAnYWxlcnRCYXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEFsZXJ0QmFyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICdzaWduYXR1cmVUZW1wbGF0ZURlc2lnbmVyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxTaWduYXR1cmVUZW1wbGF0ZURlc2lnbmVyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnZG9jdW1lbnRWaWV3ZXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPERvY3VtZW50Vmlld2VyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAndmNSb29tJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxWQ1Jvb20gY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdjaGF0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxDaGF0IGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAndXNlclZpZGVvJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxWaWRlbyBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3ZpZGVvUGxheWVyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxWaWRlb1BsYXllciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3NpZ25hdHVyZVBhbmVsJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxTaWduYXR1cmVQYW5lbCBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RpYWxvZyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8RGlhbG9nIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnY2FsZW5kYXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPENhbGVuZGFyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAndGVtcGxhdGVEZXNpZ25lcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8VGVtcGxhdGVEZXNpZ25lclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdkb2N1bWVudFRlbXBsYXRlRGVzaWduZXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPERvY3VtZW50VGVtcGxhdGVEZXNpZ25lclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdjaGF0Um9vbSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8Q2hhdFJvb21XcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3Byb2dyZXNzVHJhY2tlcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8UHJvZ3Jlc3NUcmFja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2ZhY2lhbFJlZ2lzdHJhdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8RmFjaWFsUmVnaXN0cmF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2ZhY2lhbFZlcmlmaWNhdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8RmFjaWFsVmVyaWZpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NoYXJ0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxDaGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdzcGlubmVyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxTcGlubmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8ZGl2PnsnVW5zdXBwb3J0ZWQgY29tcG9uZW50IHR5cGUgJyArIGNvbXBvbmVudC50eXBlfTwvZGl2PjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldENoaWxkcmVuKCkge1xuICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgbGV0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjb21wb25lbnRIYW5kbGVzKTtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBsZXQgY29tcG9uZW50SGFuZGxlID0gY29tcG9uZW50SGFuZGxlc1twcm9wZXJ0eV07XG4gICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNvbXBvbmVudEhhbmRsZSk7XG4gICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChjb21wb25lbnRIYW5kbGUuYXBpKSAmJiAhVXRpbHMuaXNOdWxsKGNvbXBvbmVudEhhbmRsZS5hcGkuZ2V0Q2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vcmVDaGlsZHJlbiA9IGNvbXBvbmVudEhhbmRsZS5hcGkuZ2V0Q2hpbGRyZW4oKTtcbiAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChtb3JlQ2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgbW9yZUNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICB9XG5cbiAgICBjb25zdCBhcGkgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBnZXQgaWQoKSB7XG4gICAgICAgICAgICAgICAgLy8gTGF5b3V0XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLmNvbmZpZy5pZDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQgdmlzaWJsZSh2YWwpIHtcbiAgICAgICAgICAgICAgICBzZXRWaXNpYmxlKHZhbCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0Q2hpbGRyZW46ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Q2hpbGRyZW4oKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWZyZXNoKCkge1xuICAgICAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy52aXNpYmxlKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcGFyc2VkQ29uZmlnID0gVXRpbHMucGFyc2VDb25maWcocHJvcHMuY29uZmlnLCBwcm9wcy52aWV3SWQpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaXNpYmxlKFV0aWxzLmV2YWx1YXRlQm9vbGVhbkV4cHJlc3Npb24ocGFyc2VkQ29uZmlnLnZpc2libGUsIHByb3BzLmNvbmZpZy5pZCkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgICAgICAgICAgICAgICBpZihjaGlsZC5hcGkgJiYgY2hpbGQuYXBpLnJlZnJlc2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLmFwaS5yZWZyZXNoKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGdldERlZmF1bHRDb21wb25lbnRDb250YWluZXJTdHlsZShjb21wb25lbnQpIHtcbiAgICAgICAgcmV0dXJuIFV0aWxzLm1lcmdlU3R5bGVzKHtcbiAgICAgICAgICAgIHdpZHRoOiAnYXV0bycsXG4gICAgICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgIG1pbkhlaWdodDogMFxuICAgICAgICB9LCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldExheW91dFN0eWxlKGNvbXBvbmVudCwgYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICAgIGxldCBzdHlsZSA9IFV0aWxzLm1lcmdlU3R5bGVzKHtcbiAgICAgICAgICAgIG92ZXJmbG93OiAnYXV0bycsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMTI4cHgnLFxuICAgICAgICAgICAgd2lkdGg6ICdhdXRvJyxcbiAgICAgICAgICAgIGhlaWdodDogVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKGNvbXBvbmVudCwgJ2NsYXNzTmFtZScsICcnKSA9PT0gJ3Njcm9sbGluZy1ib2R5JyA/IG51bGwgOiAnMTAwJScsXG4gICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICBwYWRkaW5nOiAwXG4gICAgICAgIH0sIGNvbXBvbmVudCk7XG5cbiAgICAgICAgaWYgKCF2aXNpYmxlKSB7XG4gICAgICAgICAgICBzdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFVdGlscy5pc051bGwoYmFja2dyb3VuZENvbG9yKSkge1xuICAgICAgICAgICAgc3R5bGUuYmFja2dyb3VuZENvbG9yID0gYmFja2dyb3VuZENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbmRlciBjaGlsZHJlbiB3cmFwcGVkIGluIGEgPFBhbmVsR3JvdXA+IHdpdGggPFBhbmVsUmVzaXplSGFuZGxlPnNcbiAgICAgKiBiZXR3ZWVuIGNvbnNlY3V0aXZlIGNoaWxkcmVuLiBBY3RpdmF0ZWQgd2hlbiBsYXlvdXQuc3BsaXR0ZXIgPT09IHRydWUuXG4gICAgICogUGVyLWNvbXBvbmVudCBzaXppbmcgZmxvd3MgdGhyb3VnaCB0aGVzZSBvcHRpb25hbCBmaWVsZHM6XG4gICAgICogICBzcGxpdHRlckRlZmF1bHRTaXplICDigJQgaW5pdGlhbCBzaXplIGFzIGEgcGVyY2VudGFnZSAoMC0xMDApXG4gICAgICogICBzcGxpdHRlck1pblNpemUgICAgICDigJQgbWluaW11bSBzaXplIGFzIGEgcGVyY2VudGFnZVxuICAgICAqICAgc3BsaXR0ZXJNYXhTaXplICAgICAg4oCUIG1heGltdW0gc2l6ZSBhcyBhIHBlcmNlbnRhZ2VcbiAgICAgKiAgIHNwbGl0dGVyQ29sbGFwc2libGUgIOKAlCB3aGV0aGVyIHRoZSBwYW5lbCBjYW4gYmUgZHJhZ2dlZCB0byBjb2xsYXBzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlbmRlcldpdGhTcGxpdHRlcnMobGF5b3V0KSB7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IGxheW91dC5vcmllbnRhdGlvbiA9PT0gJ1ZFUlRJQ0FMJyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCc7XG4gICAgICAgIGNvbnN0IGhhbmRsZUNsYXNzID0gZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgICAgICAgID8gJ291aS1zcGxpdHRlciBvdWktc3BsaXR0ZXItaCdcbiAgICAgICAgICAgIDogJ291aS1zcGxpdHRlciBvdWktc3BsaXR0ZXItdic7XG5cbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgbGF5b3V0LmNvbXBvbmVudHMuZm9yRWFjaCgoY29tcG9uZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIDxQYW5lbFJlc2l6ZUhhbmRsZSBrZXk9e2BoYW5kbGUtJHtjb21wb25lbnQuaWR9YH0gY2xhc3NOYW1lPXtoYW5kbGVDbGFzc30vPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGlsZHJlbi5wdXNoKFxuICAgICAgICAgICAgICAgIDxQYW5lbFxuICAgICAgICAgICAgICAgICAgICBrZXk9e2BwYW5lbC0ke2NvbXBvbmVudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0U2l6ZT17Y29tcG9uZW50LnNwbGl0dGVyRGVmYXVsdFNpemV9XG4gICAgICAgICAgICAgICAgICAgIG1pblNpemU9e2NvbXBvbmVudC5zcGxpdHRlck1pblNpemV9XG4gICAgICAgICAgICAgICAgICAgIG1heFNpemU9e2NvbXBvbmVudC5zcGxpdHRlck1heFNpemV9XG4gICAgICAgICAgICAgICAgICAgIGNvbGxhcHNpYmxlPXtjb21wb25lbnQuc3BsaXR0ZXJDb2xsYXBzaWJsZX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtyZW5kZXJDb21wb25lbnQoY29tcG9uZW50LCBudWxsKX1cbiAgICAgICAgICAgICAgICA8L1BhbmVsPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxQYW5lbEdyb3VwIG9yaWVudGF0aW9uPXtkaXJlY3Rpb259PlxuICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvUGFuZWxHcm91cD5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZW5kZXIobGF5b3V0KSB7XG4gICAgICAgIHNldE1pc3NpbmdDb21wb25lbnRJZHMoKTtcblxuICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGxheW91dC5jb21wb25lbnRzKSB8fCBsYXlvdXQuY29tcG9uZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiA8ZGl2PkkgYW0gYSBkdW0gZW1wdHkgTGF5b3V0PC9kaXY+O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxheW91dC5zcGxpdHRlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlbmRlcldpdGhTcGxpdHRlcnMobGF5b3V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBsYXlvdXQub3JpZW50YXRpb24gPT09ICdWRVJUSUNBTCcgP1xuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8RnJhZ21lbnQga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckNvbXBvbmVudChjb21wb25lbnQsIG51bGwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZyYWdtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0LmNvbXBvbmVudHMubWFwKChjb21wb25lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNsYXNzTmFtZSA9IFV0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShjb21wb25lbnQsICdjbGFzc05hbWUnLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudC50eXBlID09PSAnbGF5b3V0JyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyQ29tcG9uZW50KGNvbXBvbmVudCwgaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGcmFnbWVudCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJDb21wb25lbnQoY29tcG9uZW50LCBudWxsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZyYWdtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gPGRpdiBpZD17cHJvcHMuY29uZmlnLmlkfSBzdHlsZT17Z2V0TGF5b3V0U3R5bGUocHJvcHMuY29uZmlnLCBudWxsKX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1V0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShwcm9wcy5jb25maWcsICdjbGFzc05hbWUnLCAnZGVmYXVsdC1vdWktbGF5b3V0JylcbiAgICAgICAgICAgICAgICArIChwcm9wcy5jb25maWcub3JpZW50YXRpb24gPT09ICdIT1JJWk9OVEFMJyA/ICcgcm93JyA6ICcnKX1gfSBrZXk9e3Byb3BzLmNvbmZpZy5pZH0+XG4gICAgICAgIHtcbiAgICAgICAgICAgIHJlbmRlcihwcm9wcy5jb25maWcpXG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn07XG5cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUMsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0QsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVEsMEJBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLGlCQUFBLEdBQUFQLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBVSxTQUFBLEdBQUFSLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBVyxTQUFBLEdBQUFULHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBWSxnQkFBQSxHQUFBVixzQkFBQSxDQUFBRixP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
453
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX09ic2VydmFibGUiLCJfVG9vbGJhciIsIl9EYXRhR3JpZCIsIl9IdG1sUGFuZWwiLCJfVHVybnN0aWxlIiwiX1NpZ25hdHVyZVRlbXBsYXRlRGVzaWduZXIiLCJfVGVtcGxhdGVEZXNpZ25lciIsIl9BbGVydEJhciIsIl9UaXRsZUJhciIsIl9TdGVwcGVyVGl0bGVCYXIiLCJfVHJlZSIsIl9Gb3JtIiwiX0RvY3VtZW50Vmlld2VyIiwiX1NpZ25hdHVyZVBhbmVsIiwiX0RpYWxvZyIsIl9DYWxlbmRhciIsIl9WaWRlbyIsIl9WQ1NldHRpbmdzIiwiX1ZDUm9vbSIsIl9WaWRlb1BsYXllciIsIl9Qb3J0bGV0IiwiX1RhYlBhbmVsIiwiX0RvY3VtZW50VGVtcGxhdGVEZXNpZ25lciIsIl9DaGF0Um9vbVdyYXBwZXIiLCJfUHJvZ3Jlc3NUcmFja2VyIiwiX0NoYXJ0IiwiX0ZhY2lhbFJlZ2lzdHJhdGlvbiIsIl9GYWNpYWxWZXJpZmljYXRpb24iLCJfU3Bpbm5lciIsIl9yZWFjdFJlc2l6YWJsZVBhbmVscyIsIl9DaGF0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiTGF5b3V0IiwicHJvcHMiLCJjb21wb25lbnRIYW5kbGVzIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsImxvYWRlZENvbXBvbmVudHMiLCJ2aXNpYmxlIiwic2V0VmlzaWJsZSIsImtleUNvdW50ZXIiLCJ1c2VFZmZlY3QiLCJoYW5kbGUiLCJhcGkiLCJ0YWJsZVJvdyIsIl9wcm9wcyR0YWJsZVJvdyRpZCIsImNvbmZpZyIsImlkIiwicmVwbGFjZUFsbCIsInBhcnNlZENvbmZpZyIsIlV0aWxzIiwicGFyc2VDb25maWciLCJ2aWV3SWQiLCJldmVudE1hbmFnZXIiLCJhZGRTdWJzY3JpcHRpb25zIiwiZXZlbnRIYW5kbGluZ0NvbmZpZyIsImFkZFN5c3RlbVN1YnNjcmlwdGlvbnMiLCJpc051bGwiLCJldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIiwiY3JlYXRlQ29tcG9uZW50SGFuZGxlIiwiY29tcG9uZW50IiwidXNlTGF5b3V0RWZmZWN0IiwidW5pcXVlSWQiLCJwcmVmaXgiLCJfYyIsIkRhdGUiLCJub3ciLCJ0b1N0cmluZyIsIk1hdGgiLCJyYW5kb20iLCJzbGljZSIsInNldE1pc3NpbmdDb21wb25lbnRJZHMiLCJsYXlvdXQiLCJrZXkiLCJjb21wb25lbnRzIiwibGVuZ3RoIiwidHlwZSIsInJlbmRlckNvbXBvbmVudCIsImluZGV4IiwiY3JlYXRlRWxlbWVudCIsIkRhdGFHcmlkIiwiY2xhc3NOYW1lIiwiZ2V0Q29tcG9uZW50QXR0cmlidXRlIiwiVHJlZSIsImdldENoaWxkcmVuIiwiY2hpbGRyZW4iLCJwcm9wZXJ0aWVzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3BlcnR5IiwiY29tcG9uZW50SGFuZGxlIiwicHVzaCIsIm1vcmVDaGlsZHJlbiIsImNoaWxkIiwidmFsIiwicmVmcmVzaCIsImdldERlZmF1bHRDb21wb25lbnRDb250YWluZXJTdHlsZSIsIm1lcmdlU3R5bGVzIiwid2lkdGgiLCJoZWlnaHQiLCJtYXJnaW4iLCJtaW5IZWlnaHQiLCJnZXRMYXlvdXRTdHlsZSIsImJhY2tncm91bmRDb2xvciIsInN0eWxlIiwib3ZlcmZsb3ciLCJib3JkZXIiLCJtaW5XaWR0aCIsInBhZGRpbmciLCJkaXNwbGF5IiwicmVuZGVyV2l0aFNwbGl0dGVycyIsImRpcmVjdGlvbiIsIm9yaWVudGF0aW9uIiwiaGFuZGxlQ2xhc3MiLCJmb3JFYWNoIiwiU2VwYXJhdG9yIiwiY29uY2F0IiwiUGFuZWwiLCJkZWZhdWx0U2l6ZSIsInNwbGl0dGVyRGVmYXVsdFNpemUiLCJtaW5TaXplIiwic3BsaXR0ZXJNaW5TaXplIiwibWF4U2l6ZSIsInNwbGl0dGVyTWF4U2l6ZSIsImNvbGxhcHNpYmxlIiwic3BsaXR0ZXJDb2xsYXBzaWJsZSIsIkdyb3VwIiwicmVuZGVyIiwic3BsaXR0ZXIiLCJGcmFnbWVudCIsIm1hcCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L0xheW91dC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsi77u/aW1wb3J0IFJlYWN0LCB7RnJhZ21lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBVdGlscyBmcm9tICcuLi8uLi9VdGlscyc7XG5pbXBvcnQgZXZlbnRNYW5hZ2VyIGZyb20gJy4uLy4uL2V2ZW50L09ic2VydmFibGUnO1xuaW1wb3J0IFRvb2xiYXIgZnJvbSAnLi4vVG9vbGJhcic7XG5pbXBvcnQge0RhdGFHcmlkfSBmcm9tICcuLi9EYXRhR3JpZCc7XG5pbXBvcnQgSHRtbFBhbmVsIGZyb20gJy4uL0h0bWxQYW5lbCc7XG5pbXBvcnQgVHVybnN0aWxlIGZyb20gJy4uL1R1cm5zdGlsZSc7XG5pbXBvcnQgU2lnbmF0dXJlVGVtcGxhdGVEZXNpZ25lciBmcm9tICcuLi9zaWduYXR1cmVzL1NpZ25hdHVyZVRlbXBsYXRlRGVzaWduZXInO1xuaW1wb3J0IFRlbXBsYXRlRGVzaWduZXIgZnJvbSAnLi4vVGVtcGxhdGVEZXNpZ25lcic7XG5pbXBvcnQgQWxlcnRCYXIgZnJvbSAnLi4vQWxlcnRCYXInO1xuaW1wb3J0IFRpdGxlQmFyIGZyb20gJy4uL1RpdGxlQmFyJztcbmltcG9ydCBTdGVwcGVyVGl0bGVCYXIgZnJvbSAnLi4vU3RlcHBlclRpdGxlQmFyJztcbmltcG9ydCB7VHJlZX0gZnJvbSAnLi4vVHJlZSc7XG5pbXBvcnQgRm9ybSBmcm9tICcuLi9mb3JtL0Zvcm0nO1xuaW1wb3J0IERvY3VtZW50Vmlld2VyIGZyb20gJy4uL0RvY3VtZW50Vmlld2VyJztcbmltcG9ydCBTaWduYXR1cmVQYW5lbCBmcm9tICcuLi9TaWduYXR1cmVQYW5lbCc7XG5pbXBvcnQgRGlhbG9nIGZyb20gJy4uL0RpYWxvZyc7XG5pbXBvcnQgQ2FsZW5kYXIgZnJvbSAnLi4vQ2FsZW5kYXInO1xuaW1wb3J0IFZpZGVvIGZyb20gJy4uL21lZGlhL1ZpZGVvJztcbmltcG9ydCBWQ1NldHRpbmdzIGZyb20gJy4uL21lZGlhL1ZDU2V0dGluZ3MnO1xuaW1wb3J0IFZDUm9vbSBmcm9tICcuLi9tZWRpYS9WQ1Jvb20nO1xuaW1wb3J0IFZpZGVvUGxheWVyIGZyb20gJy4uL21lZGlhL1ZpZGVvUGxheWVyJztcbmltcG9ydCBQb3J0bGV0IGZyb20gJy4uL1BvcnRsZXQnO1xuaW1wb3J0IFRhYlBhbmVsIGZyb20gJy4uL1RhYlBhbmVsJztcbmltcG9ydCBEb2N1bWVudFRlbXBsYXRlRGVzaWduZXIgZnJvbSBcIi4uL0RvY3VtZW50VGVtcGxhdGVEZXNpZ25lclwiO1xuaW1wb3J0IENoYXRSb29tV3JhcHBlciBmcm9tIFwiLi4vbWVkaWEvY2hhdC9DaGF0Um9vbVdyYXBwZXJcIjtcbmltcG9ydCBQcm9ncmVzc1RyYWNrZXIgZnJvbSBcIi4uL1Byb2dyZXNzVHJhY2tlclwiO1xuaW1wb3J0IENoYXJ0IGZyb20gXCIuLi9DaGFydFwiO1xuaW1wb3J0IEZhY2lhbFJlZ2lzdHJhdGlvbiBmcm9tIFwiLi4vZmFjaWFsUmVjb2duaXRpb24vRmFjaWFsUmVnaXN0cmF0aW9uXCI7XG5pbXBvcnQgRmFjaWFsVmVyaWZpY2F0aW9uIGZyb20gXCIuLi9mYWNpYWxSZWNvZ25pdGlvbi9GYWNpYWxWZXJpZmljYXRpb25cIjtcbmltcG9ydCBTcGlubmVyIGZyb20gXCIuLi9TcGlubmVyXCI7XG5pbXBvcnQge0dyb3VwIGFzIFBhbmVsR3JvdXAsIFBhbmVsLCBTZXBhcmF0b3IgYXMgUGFuZWxSZXNpemVIYW5kbGV9IGZyb20gXCJyZWFjdC1yZXNpemFibGUtcGFuZWxzXCI7XG5pbXBvcnQgXCIuL0xheW91dC5jc3NcIlxuaW1wb3J0IENoYXQgZnJvbSBcIi4uL21lZGlhL0NoYXRcIjtcblxuZXhwb3J0IGNvbnN0IExheW91dCA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IFtjb21wb25lbnRIYW5kbGVzXSA9IFJlYWN0LnVzZVN0YXRlKHt9KTtcbiAgICBjb25zdCBbbG9hZGVkQ29tcG9uZW50c10gPSBSZWFjdC51c2VTdGF0ZShbXSk7XG4gICAgY29uc3QgW3Zpc2libGUsIHNldFZpc2libGVdID0gUmVhY3QudXNlU3RhdGUodHJ1ZSk7XG4gICAgbGV0IGtleUNvdW50ZXIgPSAwO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBwcm9wcy5oYW5kbGUuYXBpID0gYXBpKCk7XG4gICAgICAgIH0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBpZiAocHJvcHMudGFibGVSb3cpIHtcbiAgICAgICAgICAgICAgICBwcm9wcy5jb25maWcuaWQgPSBwcm9wcy5jb25maWcuaWQgKyAnXycgKyBwcm9wcy50YWJsZVJvdy5pZD8ucmVwbGFjZUFsbCgnLScsICcnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJvcHMuaGFuZGxlLmFwaSA9IGFwaSgpO1xuICAgICAgICAgICAgbGV0IHBhcnNlZENvbmZpZyA9IFV0aWxzLnBhcnNlQ29uZmlnKHByb3BzLmNvbmZpZywgcHJvcHMudmlld0lkKTtcbiAgICAgICAgICAgIGV2ZW50TWFuYWdlci5hZGRTdWJzY3JpcHRpb25zKHBhcnNlZENvbmZpZy5ldmVudEhhbmRsaW5nQ29uZmlnLCBwcm9wcy5oYW5kbGUsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgICAgICBldmVudE1hbmFnZXIuYWRkU3lzdGVtU3Vic2NyaXB0aW9ucyhwcm9wcy52aWV3SWQsIHBhcnNlZENvbmZpZyk7XG5cbiAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHBhcnNlZENvbmZpZy52aXNpYmxlKSkge1xuICAgICAgICAgICAgICAgIHNldFZpc2libGUoVXRpbHMuZXZhbHVhdGVCb29sZWFuRXhwcmVzc2lvbihwYXJzZWRDb25maWcudmlzaWJsZSwgcHJvcHMuY29uZmlnLmlkKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldFZpc2libGUodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIFtdKTtcblxuICAgIGZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpIHtcbiAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChjb21wb25lbnRIYW5kbGVzW2NvbXBvbmVudC5pZF0pKSB7XG4gICAgICAgICAgICBsZXQgaGFuZGxlID0ge307XG4gICAgICAgICAgICBjb21wb25lbnRIYW5kbGVzW2NvbXBvbmVudC5pZF0gPSBoYW5kbGU7XG4gICAgICAgICAgICByZXR1cm4gaGFuZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudEhhbmRsZXNbY29tcG9uZW50LmlkXTtcbiAgICB9XG5cbiAgICBSZWFjdC51c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgICBwcm9wcy5oYW5kbGUuYXBpID0gYXBpKCk7XG4gICAgfSwgW10pO1xuXG4gICAgZnVuY3Rpb24gdW5pcXVlSWQocHJlZml4KSB7XG4gICAgICAgIC8vIHRpbWUgKyByYW5kb20gKyBjb3VudGVyLCBhbGwgYmFzZTM2IChubyBkYXNoZXMpXG4gICAgICAgIHVuaXF1ZUlkLl9jID0gKHVuaXF1ZUlkLl9jIHx8IDApICsgMTtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIERhdGUubm93KCkudG9TdHJpbmcoMzYpXG4gICAgICAgICAgICArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpXG4gICAgICAgICAgICArIHVuaXF1ZUlkLl9jLnRvU3RyaW5nKDM2KTtcbiAgICB9XG5cbiAgICBjb25zdCBzZXRNaXNzaW5nQ29tcG9uZW50SWRzID0gKCkgPT4ge1xuICAgICAgICBsZXQgbGF5b3V0ID0gcHJvcHMuY29uZmlnO1xuICAgICAgICBpZiAoIWxheW91dC5pZCkge1xuICAgICAgICAgICAgbGF5b3V0LmlkID0gdW5pcXVlSWQoJ19wYXJlbnRfbGF5b3V0XycpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGF5b3V0LmtleSA9IGtleUNvdW50ZXIrKztcbiAgICAgICAgaWYgKCFVdGlscy5pc051bGwobGF5b3V0LmNvbXBvbmVudHMpKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxheW91dC5jb21wb25lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGNvbXBvbmVudCA9IGxheW91dC5jb21wb25lbnRzW2ldO1xuICAgICAgICAgICAgICAgIGlmIChVdGlscy5pc051bGwoY29tcG9uZW50LmlkKSkge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQuaWQgPSB1bmlxdWVJZChsYXlvdXQuaWQgKyAnXycgKyBjb21wb25lbnQudHlwZSArICdfJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29tcG9uZW50LmtleSA9IGtleUNvdW50ZXIrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBmdW5jdGlvbiByZW5kZXJDb21wb25lbnQoY29tcG9uZW50LCBpbmRleCkge1xuICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGNvbXBvbmVudC5pZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3dpdGNoIChjb21wb25lbnQudHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2xheW91dCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8TGF5b3V0IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9IGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZVJvdz17cHJvcHMudGFibGVSb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3Rvb2xiYXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFRvb2xiYXIgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZVJvdz17cHJvcHMudGFibGVSb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxUYWJQYW5lbCBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZVJvdz17cHJvcHMudGFibGVSb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICdkYXRhR3JpZCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8RGF0YUdyaWQgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICdmb3JtJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxGb3JtIGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtVdGlscy5nZXRDb21wb25lbnRBdHRyaWJ1dGUoY29tcG9uZW50LCAnY2xhc3NOYW1lJywnZGVmYXVsdEZvcm0nKX0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICdodG1sUGFuZWwnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEh0bWxQYW5lbCBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAndHVybnN0aWxlJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxUdXJuc3RpbGUgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3BvcnRsZXQnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFBvcnRsZXQgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICd0cmVlJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxUcmVlIGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RpdGxlQmFyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxUaXRsZUJhciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAnc3RlcHBlclRpdGxlQmFyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxTdGVwcGVyVGl0bGVCYXIgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2FsZXJ0QmFyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxBbGVydEJhciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAnc2lnbmF0dXJlVGVtcGxhdGVEZXNpZ25lcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8U2lnbmF0dXJlVGVtcGxhdGVEZXNpZ25lciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RvY3VtZW50Vmlld2VyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxEb2N1bWVudFZpZXdlciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3ZjUm9vbSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8VkNSb29tIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnY2hhdCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8Q2hhdCBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3VzZXJWaWRlbyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8VmlkZW8gY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICd2Y1NldHRpbmdzJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxWQ1NldHRpbmdzIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAndmlkZW9QbGF5ZXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFZpZGVvUGxheWVyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnc2lnbmF0dXJlUGFuZWwnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFNpZ25hdHVyZVBhbmVsIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxEaWFsb2cgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdjYWxlbmRhcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8Q2FsZW5kYXIgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICd0ZW1wbGF0ZURlc2lnbmVyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxUZW1wbGF0ZURlc2lnbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RvY3VtZW50VGVtcGxhdGVEZXNpZ25lcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8RG9jdW1lbnRUZW1wbGF0ZURlc2lnbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NoYXRSb29tJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxDaGF0Um9vbVdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAncHJvZ3Jlc3NUcmFja2VyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxQcm9ncmVzc1RyYWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnZmFjaWFsUmVnaXN0cmF0aW9uJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxGYWNpYWxSZWdpc3RyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnZmFjaWFsVmVyaWZpY2F0aW9uJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxGYWNpYWxWZXJpZmljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnY2hhcnQnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPENoYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3NwaW5uZXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFNwaW5uZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+eydVbnN1cHBvcnRlZCBjb21wb25lbnQgdHlwZSAnICsgY29tcG9uZW50LnR5cGV9PC9kaXY+O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0Q2hpbGRyZW4oKSB7XG4gICAgICAgIGxldCBjaGlsZHJlbiA9IFtdO1xuICAgICAgICBsZXQgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGNvbXBvbmVudEhhbmRsZXMpO1xuICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGxldCBjb21wb25lbnRIYW5kbGUgPSBjb21wb25lbnRIYW5kbGVzW3Byb3BlcnR5XTtcbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goY29tcG9uZW50SGFuZGxlKTtcbiAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKGNvbXBvbmVudEhhbmRsZS5hcGkpICYmICFVdGlscy5pc051bGwoY29tcG9uZW50SGFuZGxlLmFwaS5nZXRDaGlsZHJlbikpIHtcbiAgICAgICAgICAgICAgICBsZXQgbW9yZUNoaWxkcmVuID0gY29tcG9uZW50SGFuZGxlLmFwaS5nZXRDaGlsZHJlbigpO1xuICAgICAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKG1vcmVDaGlsZHJlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBtb3JlQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuICAgIH1cblxuICAgIGNvbnN0IGFwaSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGdldCBpZCgpIHtcbiAgICAgICAgICAgICAgICAvLyBMYXlvdXRcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMuY29uZmlnLmlkO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldCB2aXNpYmxlKHZhbCkge1xuICAgICAgICAgICAgICAgIHNldFZpc2libGUodmFsKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRDaGlsZHJlbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRDaGlsZHJlbigpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZnJlc2goKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwocHJvcHMuY29uZmlnLnZpc2libGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBwYXJzZWRDb25maWcgPSBVdGlscy5wYXJzZUNvbmZpZyhwcm9wcy5jb25maWcsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFZpc2libGUoVXRpbHMuZXZhbHVhdGVCb29sZWFuRXhwcmVzc2lvbihwYXJzZWRDb25maWcudmlzaWJsZSwgcHJvcHMuY29uZmlnLmlkKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBnZXRDaGlsZHJlbigpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmKGNoaWxkLmFwaSAmJiBjaGlsZC5hcGkucmVmcmVzaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQuYXBpLnJlZnJlc2goKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gZ2V0RGVmYXVsdENvbXBvbmVudENvbnRhaW5lclN0eWxlKGNvbXBvbmVudCkge1xuICAgICAgICByZXR1cm4gVXRpbHMubWVyZ2VTdHlsZXMoe1xuICAgICAgICAgICAgd2lkdGg6ICdhdXRvJyxcbiAgICAgICAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgICAgICAgbWFyZ2luOiAwLFxuICAgICAgICAgICAgbWluSGVpZ2h0OiAwXG4gICAgICAgIH0sIGNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0TGF5b3V0U3R5bGUoY29tcG9uZW50LCBiYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgbGV0IHN0eWxlID0gVXRpbHMubWVyZ2VTdHlsZXMoe1xuICAgICAgICAgICAgb3ZlcmZsb3c6ICdhdXRvJyxcbiAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgbWluV2lkdGg6ICcxMjhweCcsXG4gICAgICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgICAgICAgaGVpZ2h0OiBVdGlscy5nZXRDb21wb25lbnRBdHRyaWJ1dGUoY29tcG9uZW50LCAnY2xhc3NOYW1lJywgJycpID09PSAnc2Nyb2xsaW5nLWJvZHknID8gbnVsbCA6ICcxMDAlJyxcbiAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgIHBhZGRpbmc6IDBcbiAgICAgICAgfSwgY29tcG9uZW50KTtcblxuICAgICAgICBpZiAoIXZpc2libGUpIHtcbiAgICAgICAgICAgIHN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChiYWNrZ3JvdW5kQ29sb3IpKSB7XG4gICAgICAgICAgICBzdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBiYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVuZGVyIGNoaWxkcmVuIHdyYXBwZWQgaW4gYSA8UGFuZWxHcm91cD4gd2l0aCA8UGFuZWxSZXNpemVIYW5kbGU+c1xuICAgICAqIGJldHdlZW4gY29uc2VjdXRpdmUgY2hpbGRyZW4uIEFjdGl2YXRlZCB3aGVuIGxheW91dC5zcGxpdHRlciA9PT0gdHJ1ZS5cbiAgICAgKiBQZXItY29tcG9uZW50IHNpemluZyBmbG93cyB0aHJvdWdoIHRoZXNlIG9wdGlvbmFsIGZpZWxkczpcbiAgICAgKiAgIHNwbGl0dGVyRGVmYXVsdFNpemUgIOKAlCBpbml0aWFsIHNpemUgYXMgYSBwZXJjZW50YWdlICgwLTEwMClcbiAgICAgKiAgIHNwbGl0dGVyTWluU2l6ZSAgICAgIOKAlCBtaW5pbXVtIHNpemUgYXMgYSBwZXJjZW50YWdlXG4gICAgICogICBzcGxpdHRlck1heFNpemUgICAgICDigJQgbWF4aW11bSBzaXplIGFzIGEgcGVyY2VudGFnZVxuICAgICAqICAgc3BsaXR0ZXJDb2xsYXBzaWJsZSAg4oCUIHdoZXRoZXIgdGhlIHBhbmVsIGNhbiBiZSBkcmFnZ2VkIHRvIGNvbGxhcHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVuZGVyV2l0aFNwbGl0dGVycyhsYXlvdXQpIHtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gbGF5b3V0Lm9yaWVudGF0aW9uID09PSAnVkVSVElDQUwnID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJztcbiAgICAgICAgY29uc3QgaGFuZGxlQ2xhc3MgPSBkaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJ1xuICAgICAgICAgICAgPyAnb3VpLXNwbGl0dGVyIG91aS1zcGxpdHRlci1oJ1xuICAgICAgICAgICAgOiAnb3VpLXNwbGl0dGVyIG91aS1zcGxpdHRlci12JztcblxuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IFtdO1xuICAgICAgICBsYXlvdXQuY29tcG9uZW50cy5mb3JFYWNoKChjb21wb25lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChcbiAgICAgICAgICAgICAgICAgICAgPFBhbmVsUmVzaXplSGFuZGxlIGtleT17YGhhbmRsZS0ke2NvbXBvbmVudC5pZH1gfSBjbGFzc05hbWU9e2hhbmRsZUNsYXNzfS8+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goXG4gICAgICAgICAgICAgICAgPFBhbmVsXG4gICAgICAgICAgICAgICAgICAgIGtleT17YHBhbmVsLSR7Y29tcG9uZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRTaXplPXtjb21wb25lbnQuc3BsaXR0ZXJEZWZhdWx0U2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgbWluU2l6ZT17Y29tcG9uZW50LnNwbGl0dGVyTWluU2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgbWF4U2l6ZT17Y29tcG9uZW50LnNwbGl0dGVyTWF4U2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgY29sbGFwc2libGU9e2NvbXBvbmVudC5zcGxpdHRlckNvbGxhcHNpYmxlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3JlbmRlckNvbXBvbmVudChjb21wb25lbnQsIG51bGwpfVxuICAgICAgICAgICAgICAgIDwvUGFuZWw+XG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFBhbmVsR3JvdXAgb3JpZW50YXRpb249e2RpcmVjdGlvbn0+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9QYW5lbEdyb3VwPlxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJlbmRlcihsYXlvdXQpIHtcbiAgICAgICAgc2V0TWlzc2luZ0NvbXBvbmVudElkcygpO1xuXG4gICAgICAgIGlmIChVdGlscy5pc051bGwobGF5b3V0LmNvbXBvbmVudHMpIHx8IGxheW91dC5jb21wb25lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIDxkaXY+SSBhbSBhIGR1bSBlbXB0eSBMYXlvdXQ8L2Rpdj47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGF5b3V0LnNwbGl0dGVyID09PSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVuZGVyV2l0aFNwbGl0dGVycyhsYXlvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGxheW91dC5vcmllbnRhdGlvbiA9PT0gJ1ZFUlRJQ0FMJyA/XG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0LmNvbXBvbmVudHMubWFwKChjb21wb25lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxGcmFnbWVudCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyQ29tcG9uZW50KGNvbXBvbmVudCwgbnVsbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRnJhZ21lbnQ+O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY2xhc3NOYW1lID0gVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKGNvbXBvbmVudCwgJ2NsYXNzTmFtZScsICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcG9uZW50LnR5cGUgPT09ICdsYXlvdXQnID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckNvbXBvbmVudChjb21wb25lbnQsIGluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGcmFnbWVudCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJDb21wb25lbnQoY29tcG9uZW50LCBudWxsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZyYWdtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gPGRpdiBpZD17cHJvcHMuY29uZmlnLmlkfSBzdHlsZT17Z2V0TGF5b3V0U3R5bGUocHJvcHMuY29uZmlnLCBudWxsKX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1V0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShwcm9wcy5jb25maWcsICdjbGFzc05hbWUnLCAnZGVmYXVsdC1vdWktbGF5b3V0JylcbiAgICAgICAgICAgICAgICArIChwcm9wcy5jb25maWcub3JpZW50YXRpb24gPT09ICdIT1JJWk9OVEFMJyA/ICcgcm93JyA6ICcnKX1gfSBrZXk9e3Byb3BzLmNvbmZpZy5pZH0+XG4gICAgICAgIHtcbiAgICAgICAgICAgIHJlbmRlcihwcm9wcy5jb25maWcpXG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn07XG5cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUMsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFB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QUFBLENBQUFzQyxPQUFBLENBQUFnRSxhQUFBLENBQUN0RyxNQUFBLENBQUF1SixRQUFRO1FBQUN2RCxHQUFHLEVBQUVLO01BQU0sR0FFcEJELGVBQWUsQ0FBQ2pCLFNBQVMsRUFBRSxJQUFJLENBRTdCLENBQUM7SUFDZixDQUFDLENBRVAsQ0FBQyxnQkFFSG5GLE1BQUEsQ0FBQXNDLE9BQUEsQ0FBQWdFLGFBQUEsQ0FBQXRHLE1BQUEsQ0FBQXNDLE9BQUEsQ0FBQWlILFFBQUEsUUFFUXhELE1BQU0sQ0FBQ0UsVUFBVSxDQUFDdUQsR0FBRyxDQUFDLENBQUNyRSxTQUFTLEVBQUVrQixLQUFLLEtBQUs7TUFDeEMsSUFBSUcsU0FBUyxHQUFHL0IsY0FBSyxDQUFDZ0MscUJBQXFCLENBQUN0QixTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQztNQUN2RSxPQUFPQSxTQUFTLENBQUNnQixJQUFJLEtBQUssUUFBUSxnQkFDOUJuRyxNQUFBLENBQUFzQyxPQUFBLENBQUFnRSxhQUFBLENBQUN0RyxNQUFBLENBQUF1SixRQUFRO1FBQUN2RCxHQUFHLEVBQUVLO01BQU0sR0FFYkQsZUFBZSxDQUFDakIsU0FBUyxFQUFFa0IsS0FBSyxDQUU5QixDQUFDLGdCQUVYckcsTUFBQSxDQUFBc0MsT0FBQSxDQUFBZ0UsYUFBQSxDQUFDdEcsTUFBQSxDQUFBdUosUUFBUTtRQUFDdkQsR0FBRyxFQUFFSztNQUFNLEdBRWJELGVBQWUsQ0FBQ2pCLFNBQVMsRUFBRSxJQUFJLENBRTdCLENBQUM7SUFDbkIsQ0FBQyxDQUVQLENBQUM7RUFFZjtFQUVBLG9CQUFPbkYsTUFBQSxDQUFBc0MsT0FBQSxDQUFBZ0UsYUFBQTtJQUFLaEMsRUFBRSxFQUFFZCxLQUFLLENBQUNhLE1BQU0sQ0FBQ0MsRUFBRztJQUFDd0QsS0FBSyxFQUFFRixjQUFjLENBQUNwRSxLQUFLLENBQUNhLE1BQU0sRUFBRSxJQUFJLENBQUU7SUFDL0RtQyxTQUFTLEtBQUFrQyxNQUFBLENBQUtqRSxjQUFLLENBQUNnQyxxQkFBcUIsQ0FBQ2pELEtBQUssQ0FBQ2EsTUFBTSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxJQUN2RmIsS0FBSyxDQUFDYSxNQUFNLENBQUNpRSxXQUFXLEtBQUssWUFBWSxHQUFHLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBRztJQUFDdEMsR0FBRyxFQUFFeEMsS0FBSyxDQUFDYSxNQUFNLENBQUNDO0VBQUcsR0FFeEYrRSxNQUFNLENBQUM3RixLQUFLLENBQUNhLE1BQU0sQ0FFdEIsQ0FBQztBQUNWLENBQUM7QUFBQ29GLE9BQUEsQ0FBQWxHLE1BQUEsR0FBQUEsTUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -50,7 +50,7 @@ const ViewPort = props => {
50
50
  height: 'calc(100vh - 72px)',
51
51
  maxHeight: 'calc(100vh - 72px)',
52
52
  position: 'fixed',
53
- width: props.windowPinned ? "calc(100% - ".concat(props.menuOffset, "px - 328px - 12px)") : "calc(100% - ".concat(props.menuOffset, "px - 12px)"),
53
+ width: props.windowPinned ? "calc(100% - ".concat(props.menuOffset, "px - 328px - 8px)") : "calc(100% - ".concat(props.menuOffset, "px - 8px)"),
54
54
  borderRadius: '4px'
55
55
  }
56
56
  }, /*#__PURE__*/_react.default.createElement(_PopupView.default, {
@@ -60,4 +60,4 @@ const ViewPort = props => {
60
60
  }));
61
61
  };
62
62
  var _default = exports.default = ViewPort;
63
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9VdGlscyIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfQ29uZmlybWF0aW9uRGlhbG9nIiwiX1BvcHVwVmlldyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlZpZXdQb3J0IiwicHJvcHMiLCJfcHJvcHMkc3R5bGUiLCJuYXZpZ2F0ZSIsInVzZU5hdmlnYXRlIiwibG9hZGluZyIsInNldExvYWRpbmciLCJSZWFjdCIsInVzZVN0YXRlIiwid2lkdGgiLCJzZXRXaWR0aCIsImNvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIiLCJ1c2VSZWYiLCJwb3B1cFZpZXdDb250cm9sbGVyIiwib3BlblBvcHVwVmlldyIsInZpZXciLCJjdXJyZW50Iiwib3BlbiIsImNsb3NlUG9wdXBWaWV3IiwiY2xvc2UiLCJ1c2VFZmZlY3QiLCJfcHJvcHMkbGFuZGluZ1BhZ2UiLCJsYW5kaW5nUGFnZSIsImFwcGxpY2F0aW9uTWFuYWdlciIsInNldENvbmZpcm1EaWFsb2dIYW5kbGVyIiwiY29uc29sZSIsImxvZyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImhlaWdodCIsIm1heEhlaWdodCIsInBvc2l0aW9uIiwid2luZG93UGlubmVkIiwiY29uY2F0IiwibWVudU9mZnNldCIsImJvcmRlclJhZGl1cyIsImNvbnRyb2xsZXIiLCJPdXRsZXQiLCJDb25maXJtYXRpb25EaWFsb2ciLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L1ZpZXdQb3J0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyLvu79pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtSb3V0ZSwgUm91dGVzLCB1c2VOYXZpZ2F0ZSwgT3V0bGV0fSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBVdGlscyBmcm9tIFwiLi4vLi4vVXRpbHNcIjtcbmltcG9ydCBhcHBsaWNhdGlvbk1hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IHtDb25maXJtYXRpb25EaWFsb2d9IGZyb20gXCIuLi9Db25maXJtYXRpb25EaWFsb2dcIjtcbmltcG9ydCBQb3B1cFZpZXcgZnJvbSBcIi4uL1BvcHVwVmlld1wiO1xuXG5jb25zdCBWaWV3UG9ydCA9IChwcm9wcykgPT4ge1xuXG4gICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IFJlYWN0LnVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFt3aWR0aCwgc2V0V2lkdGhdID0gUmVhY3QudXNlU3RhdGUoJzEwMCUnKTtcblxuICAgIGNvbnN0IGNvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIgPSBSZWFjdC51c2VSZWYoe30pO1xuICAgIGNvbnN0IHBvcHVwVmlld0NvbnRyb2xsZXIgPSBSZWFjdC51c2VSZWYoe30pO1xuXG4gICAgY29uc3Qgb3BlblBvcHVwVmlldyA9ICh2aWV3KSA9PiB7XG4gICAgICAgIHBvcHVwVmlld0NvbnRyb2xsZXIuY3VycmVudC5vcGVuKHZpZXcpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbG9zZVBvcHVwVmlldyA9ICgpID0+IHtcbiAgICAgICAgcG9wdXBWaWV3Q29udHJvbGxlci5jdXJyZW50LmNsb3NlKCk7XG4gICAgfTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgbGFuZGluZ1BhZ2UgPSBwcm9wcy5sYW5kaW5nUGFnZSA/PyBcIi92aWV3L2Rhc2hib2FyZFwiO1xuICAgICAgICBpZiAoIWxvYWRpbmcgJiYgbGFuZGluZ1BhZ2UgJiYgbGFuZGluZ1BhZ2UgIT09ICdOT05FJykge1xuICAgICAgICAgICAgbmF2aWdhdGUobGFuZGluZ1BhZ2UpXG4gICAgICAgIH1cbiAgICB9LCBbbG9hZGluZ10pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uZmlybWF0aW9uRGlhbG9nQ29udHJvbGxlci5jdXJyZW50Lm9wZW5Qb3B1cFZpZXcgPSBvcGVuUG9wdXBWaWV3O1xuICAgICAgICBjb25maXJtYXRpb25EaWFsb2dDb250cm9sbGVyLmN1cnJlbnQuY2xvc2VQb3B1cFZpZXcgPSBjbG9zZVBvcHVwVmlldztcblxuICAgICAgICAvL2FwcGxpY2F0aW9uTWFuYWdlci5zZXRWaWV3UG9ydEhpc3RvcnkocHJvcHMuaGlzdG9yeSk7XG4gICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXRDb25maXJtRGlhbG9nSGFuZGxlcihjb25maXJtYXRpb25EaWFsb2dDb250cm9sbGVyLmN1cnJlbnQpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTE9BRElORyBWSUVXUE9SVFwiKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInZpZXdwb3J0XCIgc3R5bGU9e3Byb3BzLnN0eWxlID8/IHtcbiAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwdmggLSA3MnB4KScsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICdjYWxjKDEwMHZoIC0gNzJweCknLFxuICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICB3aWR0aDogcHJvcHMud2luZG93UGlubmVkID8gYGNhbGMoMTAwJSAtICR7cHJvcHMubWVudU9mZnNldH1weCAtIDMyOHB4IC0gMTJweClgIDogYGNhbGMoMTAwJSAtICR7cHJvcHMubWVudU9mZnNldH1weCAtIDEycHgpYCxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCdcbiAgICAgICAgfX0+XG4gICAgICAgICAgICA8UG9wdXBWaWV3IGNvbnRyb2xsZXI9e3BvcHVwVmlld0NvbnRyb2xsZXIuY3VycmVudH0vPlxuICAgICAgICAgICAgPE91dGxldC8+XG4gICAgICAgICAgICA8Q29uZmlybWF0aW9uRGlhbG9nIGNvbnRyb2xsZXI9e2NvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIuY3VycmVudH0vPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IFZpZXdQb3J0XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFDLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNELElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLG1CQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxtQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQXFDLFNBQUFELHVCQUFBTyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRXJDLE1BQU1HLFFBQVEsR0FBSUMsS0FBSyxJQUFLO0VBQUEsSUFBQUMsWUFBQTtFQUV4QixNQUFNQyxRQUFRLEdBQUcsSUFBQUMsMkJBQVcsRUFBQyxDQUFDO0VBQzlCLE1BQU0sQ0FBQ0MsT0FBTyxFQUFFQyxVQUFVLENBQUMsR0FBR0MsY0FBSyxDQUFDQyxRQUFRLENBQUMsSUFBSSxDQUFDO0VBQ2xELE1BQU0sQ0FBQ0MsS0FBSyxFQUFFQyxRQUFRLENBQUMsR0FBR0gsY0FBSyxDQUFDQyxRQUFRLENBQUMsTUFBTSxDQUFDO0VBRWhELE1BQU1HLDRCQUE0QixHQUFHSixjQUFLLENBQUNLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUNyRCxNQUFNQyxtQkFBbUIsR0FBR04sY0FBSyxDQUFDSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFFNUMsTUFBTUUsYUFBYSxHQUFJQyxJQUFJLElBQUs7SUFDNUJGLG1CQUFtQixDQUFDRyxPQUFPLENBQUNDLElBQUksQ0FBQ0YsSUFBSSxDQUFDO0VBQzFDLENBQUM7RUFFRCxNQUFNRyxjQUFjLEdBQUdBLENBQUEsS0FBTTtJQUN6QkwsbUJBQW1CLENBQUNHLE9BQU8sQ0FBQ0csS0FBSyxDQUFDLENBQUM7RUFDdkMsQ0FBQztFQUVEWixjQUFLLENBQUNhLFNBQVMsQ0FBQyxNQUFNO0lBQ2xCLElBQUlmLE9BQU8sRUFBRTtNQUNUQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ3JCO0VBQ0osQ0FBQyxDQUFDO0VBRUZDLGNBQUssQ0FBQ2EsU0FBUyxDQUFDLE1BQU07SUFBQSxJQUFBQyxrQkFBQTtJQUNsQixNQUFNQyxXQUFXLElBQUFELGtCQUFBLEdBQUdwQixLQUFLLENBQUNxQixXQUFXLGNBQUFELGtCQUFBLGNBQUFBLGtCQUFBLEdBQUksaUJBQWlCO0lBQzFELElBQUksQ0FBQ2hCLE9BQU8sSUFBSWlCLFdBQVcsSUFBSUEsV0FBVyxLQUFLLE1BQU0sRUFBRTtNQUNuRG5CLFFBQVEsQ0FBQ21CLFdBQVcsQ0FBQztJQUN6QjtFQUNKLENBQUMsRUFBRSxDQUFDakIsT0FBTyxDQUFDLENBQUM7RUFFYkUsY0FBSyxDQUFDYSxTQUFTLENBQUMsTUFBTTtJQUNsQlQsNEJBQTRCLENBQUNLLE9BQU8sQ0FBQ0YsYUFBYSxHQUFHQSxhQUFhO0lBQ2xFSCw0QkFBNEIsQ0FBQ0ssT0FBTyxDQUFDRSxjQUFjLEdBQUdBLGNBQWM7O0lBRXBFO0lBQ0FLLDJCQUFrQixDQUFDQyx1QkFBdUIsQ0FBQ2IsNEJBQTRCLENBQUNLLE9BQU8sQ0FBQztJQUVoRlMsT0FBTyxDQUFDQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7RUFDbkMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLG9CQUNJckMsTUFBQSxDQUFBVSxPQUFBLENBQUE0QixhQUFBO0lBQUtDLFNBQVMsRUFBQyxVQUFVO0lBQUNDLEtBQUssR0FBQTNCLFlBQUEsR0FBRUQsS0FBSyxDQUFDNEIsS0FBSyxjQUFBM0IsWUFBQSxjQUFBQSxZQUFBLEdBQUk7TUFDNUM0QixNQUFNLEVBQUUsb0JBQW9CO01BQzVCQyxTQUFTLEVBQUUsb0JBQW9CO01BQy9CQyxRQUFRLEVBQUUsT0FBTztNQUNqQnZCLEtBQUssRUFBRVIsS0FBSyxDQUFDZ0MsWUFBWSxrQkFBQUMsTUFBQSxDQUFrQmpDLEtBQUssQ0FBQ2tDLFVBQVUseUNBQUFELE1BQUEsQ0FBc0NqQyxLQUFLLENBQUNrQyxVQUFVLGVBQVk7TUFDN0hDLFlBQVksRUFBRTtJQUNsQjtFQUFFLGdCQUNFL0MsTUFBQSxDQUFBVSxPQUFBLENBQUE0QixhQUFBLENBQUMvQixVQUFBLENBQUFHLE9BQVM7SUFBQ3NDLFVBQVUsRUFBRXhCLG1CQUFtQixDQUFDRztFQUFRLENBQUMsQ0FBQyxlQUNyRDNCLE1BQUEsQ0FBQVUsT0FBQSxDQUFBNEIsYUFBQSxDQUFDbkMsZUFBQSxDQUFBOEMsTUFBTSxNQUFDLENBQUMsZUFDVGpELE1BQUEsQ0FBQVUsT0FBQSxDQUFBNEIsYUFBQSxDQUFDaEMsbUJBQUEsQ0FBQTRDLGtCQUFrQjtJQUFDRixVQUFVLEVBQUUxQiw0QkFBNEIsQ0FBQ0s7RUFBUSxDQUFDLENBQ3JFLENBQUM7QUFFZCxDQUFDO0FBQUEsSUFBQXdCLFFBQUEsR0FBQUMsT0FBQSxDQUFBMUMsT0FBQSxHQUVjQyxRQUFRIiwiaWdub3JlTGlzdCI6W119
63
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9VdGlscyIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfQ29uZmlybWF0aW9uRGlhbG9nIiwiX1BvcHVwVmlldyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlZpZXdQb3J0IiwicHJvcHMiLCJfcHJvcHMkc3R5bGUiLCJuYXZpZ2F0ZSIsInVzZU5hdmlnYXRlIiwibG9hZGluZyIsInNldExvYWRpbmciLCJSZWFjdCIsInVzZVN0YXRlIiwid2lkdGgiLCJzZXRXaWR0aCIsImNvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIiLCJ1c2VSZWYiLCJwb3B1cFZpZXdDb250cm9sbGVyIiwib3BlblBvcHVwVmlldyIsInZpZXciLCJjdXJyZW50Iiwib3BlbiIsImNsb3NlUG9wdXBWaWV3IiwiY2xvc2UiLCJ1c2VFZmZlY3QiLCJfcHJvcHMkbGFuZGluZ1BhZ2UiLCJsYW5kaW5nUGFnZSIsImFwcGxpY2F0aW9uTWFuYWdlciIsInNldENvbmZpcm1EaWFsb2dIYW5kbGVyIiwiY29uc29sZSIsImxvZyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImhlaWdodCIsIm1heEhlaWdodCIsInBvc2l0aW9uIiwid2luZG93UGlubmVkIiwiY29uY2F0IiwibWVudU9mZnNldCIsImJvcmRlclJhZGl1cyIsImNvbnRyb2xsZXIiLCJPdXRsZXQiLCJDb25maXJtYXRpb25EaWFsb2ciLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L1ZpZXdQb3J0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyLvu79pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtSb3V0ZSwgUm91dGVzLCB1c2VOYXZpZ2F0ZSwgT3V0bGV0fSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBVdGlscyBmcm9tIFwiLi4vLi4vVXRpbHNcIjtcbmltcG9ydCBhcHBsaWNhdGlvbk1hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IHtDb25maXJtYXRpb25EaWFsb2d9IGZyb20gXCIuLi9Db25maXJtYXRpb25EaWFsb2dcIjtcbmltcG9ydCBQb3B1cFZpZXcgZnJvbSBcIi4uL1BvcHVwVmlld1wiO1xuXG5jb25zdCBWaWV3UG9ydCA9IChwcm9wcykgPT4ge1xuXG4gICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IFJlYWN0LnVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFt3aWR0aCwgc2V0V2lkdGhdID0gUmVhY3QudXNlU3RhdGUoJzEwMCUnKTtcblxuICAgIGNvbnN0IGNvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIgPSBSZWFjdC51c2VSZWYoe30pO1xuICAgIGNvbnN0IHBvcHVwVmlld0NvbnRyb2xsZXIgPSBSZWFjdC51c2VSZWYoe30pO1xuXG4gICAgY29uc3Qgb3BlblBvcHVwVmlldyA9ICh2aWV3KSA9PiB7XG4gICAgICAgIHBvcHVwVmlld0NvbnRyb2xsZXIuY3VycmVudC5vcGVuKHZpZXcpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbG9zZVBvcHVwVmlldyA9ICgpID0+IHtcbiAgICAgICAgcG9wdXBWaWV3Q29udHJvbGxlci5jdXJyZW50LmNsb3NlKCk7XG4gICAgfTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgbGFuZGluZ1BhZ2UgPSBwcm9wcy5sYW5kaW5nUGFnZSA/PyBcIi92aWV3L2Rhc2hib2FyZFwiO1xuICAgICAgICBpZiAoIWxvYWRpbmcgJiYgbGFuZGluZ1BhZ2UgJiYgbGFuZGluZ1BhZ2UgIT09ICdOT05FJykge1xuICAgICAgICAgICAgbmF2aWdhdGUobGFuZGluZ1BhZ2UpXG4gICAgICAgIH1cbiAgICB9LCBbbG9hZGluZ10pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uZmlybWF0aW9uRGlhbG9nQ29udHJvbGxlci5jdXJyZW50Lm9wZW5Qb3B1cFZpZXcgPSBvcGVuUG9wdXBWaWV3O1xuICAgICAgICBjb25maXJtYXRpb25EaWFsb2dDb250cm9sbGVyLmN1cnJlbnQuY2xvc2VQb3B1cFZpZXcgPSBjbG9zZVBvcHVwVmlldztcblxuICAgICAgICAvL2FwcGxpY2F0aW9uTWFuYWdlci5zZXRWaWV3UG9ydEhpc3RvcnkocHJvcHMuaGlzdG9yeSk7XG4gICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXRDb25maXJtRGlhbG9nSGFuZGxlcihjb25maXJtYXRpb25EaWFsb2dDb250cm9sbGVyLmN1cnJlbnQpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTE9BRElORyBWSUVXUE9SVFwiKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInZpZXdwb3J0XCIgc3R5bGU9e3Byb3BzLnN0eWxlID8/IHtcbiAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwdmggLSA3MnB4KScsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICdjYWxjKDEwMHZoIC0gNzJweCknLFxuICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICB3aWR0aDogcHJvcHMud2luZG93UGlubmVkID8gYGNhbGMoMTAwJSAtICR7cHJvcHMubWVudU9mZnNldH1weCAtIDMyOHB4IC0gOHB4KWAgOiBgY2FsYygxMDAlIC0gJHtwcm9wcy5tZW51T2Zmc2V0fXB4IC0gOHB4KWAsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnXG4gICAgICAgIH19PlxuICAgICAgICAgICAgPFBvcHVwVmlldyBjb250cm9sbGVyPXtwb3B1cFZpZXdDb250cm9sbGVyLmN1cnJlbnR9Lz5cbiAgICAgICAgICAgIDxPdXRsZXQvPlxuICAgICAgICAgICAgPENvbmZpcm1hdGlvbkRpYWxvZyBjb250cm9sbGVyPXtjb25maXJtYXRpb25EaWFsb2dDb250cm9sbGVyLmN1cnJlbnR9Lz5cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBWaWV3UG9ydFxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQyxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDRCxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxtQkFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksbUJBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUFxQyxTQUFBRCx1QkFBQU8sQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUVyQyxNQUFNRyxRQUFRLEdBQUlDLEtBQUssSUFBSztFQUFBLElBQUFDLFlBQUE7RUFFeEIsTUFBTUMsUUFBUSxHQUFHLElBQUFDLDJCQUFXLEVBQUMsQ0FBQztFQUM5QixNQUFNLENBQUNDLE9BQU8sRUFBRUMsVUFBVSxDQUFDLEdBQUdDLGNBQUssQ0FBQ0MsUUFBUSxDQUFDLElBQUksQ0FBQztFQUNsRCxNQUFNLENBQUNDLEtBQUssRUFBRUMsUUFBUSxDQUFDLEdBQUdILGNBQUssQ0FBQ0MsUUFBUSxDQUFDLE1BQU0sQ0FBQztFQUVoRCxNQUFNRyw0QkFBNEIsR0FBR0osY0FBSyxDQUFDSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDckQsTUFBTUMsbUJBQW1CLEdBQUdOLGNBQUss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
@@ -1,6 +1,9 @@
1
+ .window-content {
2
+ margin-left: 4px;
3
+ }
4
+
1
5
  .meeting-window-header {
2
6
  width: 100%;
3
- padding: 8px 0;
4
7
  color: #000000;
5
8
  cursor: move;
6
9
  }