@sapui5/sap.fe.templates 1.108.8 → 1.108.10

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 (42) hide show
  1. package/package.json +6 -3
  2. package/src/sap/fe/templates/.library +1 -1
  3. package/src/sap/fe/templates/AnalyticalListPage/Component.js +1 -7
  4. package/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +1 -4
  5. package/src/sap/fe/templates/Feedback.js +3 -13
  6. package/src/sap/fe/templates/ListComponent.js +2 -19
  7. package/src/sap/fe/templates/ListReport/Component.js +1 -18
  8. package/src/sap/fe/templates/ListReport/ExtensionAPI.js +10 -35
  9. package/src/sap/fe/templates/ListReport/ListReport.view.xml +1 -1
  10. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +80 -226
  11. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +9 -2
  12. package/src/sap/fe/templates/ListReport/ListReportTemplating.js +2 -7
  13. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +21 -108
  14. package/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +9 -17
  15. package/src/sap/fe/templates/ListReport/overrides/Share.js +9 -25
  16. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +51 -122
  17. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js +1 -23
  18. package/src/sap/fe/templates/ObjectPage/Component.js +12 -37
  19. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +17 -54
  20. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +256 -467
  21. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +69 -15
  22. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +66 -198
  23. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.js +1 -32
  24. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +9 -37
  25. package/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +1 -7
  26. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +9 -31
  27. package/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +1 -1
  28. package/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +2 -4
  29. package/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +1 -1
  30. package/src/sap/fe/templates/ObjectPage/flexibility/ScrollableHeaderContainer.flexibility.js +4 -5
  31. package/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +1 -1
  32. package/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +1 -1
  33. package/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +15 -20
  34. package/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +1 -1
  35. package/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +1 -1
  36. package/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +4 -5
  37. package/src/sap/fe/templates/ObjectPage/overrides/Share.js +18 -68
  38. package/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +5 -20
  39. package/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +1 -2
  40. package/src/sap/fe/templates/TableScroller.js +1 -6
  41. package/src/sap/fe/templates/library.js +2 -5
  42. package/src/sap/fe/templates/messagebundle_it.properties +1 -1
@@ -6,27 +6,18 @@ sap.ui.define(["sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/building
6
6
  "use strict";
7
7
 
8
8
  var _dec, _dec2, _class, _class2, _descriptor, _templateObject;
9
-
10
9
  var _exports = {};
11
10
  var xml = BuildingBlockRuntime.xml;
12
11
  var xmlAttribute = BuildingBlock.xmlAttribute;
13
12
  var defineBuildingBlock = BuildingBlock.defineBuildingBlock;
14
13
  var BuildingBlockBase = BuildingBlock.BuildingBlockBase;
15
-
16
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
-
18
15
  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
19
-
20
16
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
21
-
22
17
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
23
-
24
18
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
25
-
26
19
  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
27
-
28
20
  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
29
-
30
21
  var MultipleMode = (_dec = defineBuildingBlock({
31
22
  name: "MultipleMode",
32
23
  namespace: "sap.fe.templates.ListReport.view.fragments",
@@ -35,46 +26,33 @@ sap.ui.define(["sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/building
35
26
  type: "sap.ui.model.Context"
36
27
  }), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockBase) {
37
28
  _inheritsLoose(MultipleMode, _BuildingBlockBase);
38
-
39
29
  function MultipleMode() {
40
30
  var _this;
41
-
42
31
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43
32
  args[_key] = arguments[_key];
44
33
  }
45
-
46
34
  _this = _BuildingBlockBase.call.apply(_BuildingBlockBase, [this].concat(args)) || this;
47
-
48
35
  _initializerDefineProperty(_this, "converterContext", _descriptor, _assertThisInitialized(_this));
49
-
50
36
  return _this;
51
37
  }
52
-
53
38
  _exports = MultipleMode;
54
39
  var _proto = MultipleMode.prototype;
55
-
56
40
  _proto.getInnerControlsAPI = function getInnerControlsAPI() {
57
41
  var _this$converterContex;
58
-
59
42
  return ((_this$converterContex = this.converterContext) === null || _this$converterContex === void 0 ? void 0 : _this$converterContex.views.reduce(function (innerControls, view) {
60
43
  var innerControlId = view.tableControlId || view.chartControlId;
61
-
62
44
  if (innerControlId) {
63
45
  innerControls.push("".concat(innerControlId, "::").concat(view.tableControlId ? "Table" : "Chart"));
64
46
  }
65
-
66
47
  return innerControls;
67
48
  }, []).join(",")) || "";
68
49
  };
69
-
70
50
  _proto.getTemplate = function getTemplate() {
71
51
  var _this$converterContex2, _this$converterContex3, _this$converterContex4;
72
-
73
52
  return xml(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\t\t<fe:MultipleModeControl\n\t\t\t\txmlns=\"sap.m\"\n\t\t\t\txmlns:fe=\"sap.fe.templates.ListReport.controls\"\n\t\t\t\txmlns:core=\"sap.ui.core\"\n\t\t\t\txmlns:macro=\"sap.fe.macros\"\n\t\t\t\tinnerControls=\"", "\"\n\t\t\t\tfilterControl=\"", "\"\n\t\t\t\tshowCounts=\"", "\"\n\t\t\t\tfreezeContent=\"", "\"\n\t\t\t\tid=\"", "::Control\"\n\t\t\t>\n\t\t\t\t<IconTabBar\n\t\t\t\tcore:require=\"{\n\t\t\t\t\tMULTICONTROL: 'sap/fe/templates/ListReport/controls/MultipleModeControl'\n\t\t\t\t}\"\n\t\t\t\t\texpandable=\"false\"\n\t\t\t\t\theaderMode=\"Inline\"\n\t\t\t\t\tid=\"", "\"\n\t\t\t\t\tstretchContentHeight=\"true\"\n\t\t\t\t\tselect=\"MULTICONTROL.handleTabChange($event)\"\n\t\t\t\t>\n\t\t\t\t\t<items>\n\t\t\t\t\t", "\n\t\t\t\t\t</items>\n\t\t\t\t</IconTabBar>\n\t\t\t</fe:MultipleModeControl>"])), this.getInnerControlsAPI(), this.converterContext.filterBarId, (_this$converterContex2 = this.converterContext.multiViewsControl) === null || _this$converterContex2 === void 0 ? void 0 : _this$converterContex2.showTabCounts, !!this.converterContext.filterBarId, (_this$converterContex3 = this.converterContext.multiViewsControl) === null || _this$converterContex3 === void 0 ? void 0 : _this$converterContex3.id, (_this$converterContex4 = this.converterContext.multiViewsControl) === null || _this$converterContex4 === void 0 ? void 0 : _this$converterContex4.id, this.converterContext.views.map(function (view, viewIdx) {
74
53
  return "<template:with path=\"converterContext>views/".concat(viewIdx, "/\" var=\"view\"\n\t\t\t\t\t\t\t\t\t\ttemplate:require=\"{\n\t\t\t\t\t\t\t\t\t\t\tID: 'sap/fe/core/helpers/StableIdHelper'\n\t\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\t\txmlns:core=\"sap.ui.core\"\n\t\t\t\t\t\t\t\t\t\txmlns:template=\"http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1\">\n\t\t\t\t\t\t\t\t<template:with path=\"view>presentation\" var=\"presentationContext\">\n\t\t\t\t\t\t\t\t<IconTabFilter\n\t\t\t\t\t\t\t\t\ttext=\"").concat(view.title, "\"\n\t\t\t\t\t\t\t\t\tkey=\"{= ID.generate([${view>tableControlId} || ${view>customTabId} || ${view>chartControlId}])}\"\n\t\t\t\t\t\t\t\t\tvisible=\"{view>visible}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<content>\n\t\t\t\t\t\t\t\t\t\t<template:if test=\"{= ${view>type} === 'Custom'}\">\n\t\t\t\t\t\t\t\t\t\t\t<template:then>\n\t\t\t\t\t\t\t\t\t\t\t\t<core:Fragment fragmentName=\"sap.fe.templates.ListReport.view.fragments.CustomView\" type=\"XML\" />\n\t\t\t\t\t\t\t\t\t\t\t</template:then>\n\t\t\t\t\t\t\t\t\t\t\t<template:else>\n\t\t\t\t\t\t\t\t\t\t\t\t<MessageStrip\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext=\"{= '{= (${tabsInternal>/' + (${view>tableControlId} || ${view>chartControlId}) + '/notApplicable/title} ) }' }\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"Information\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowIcon=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowCloseButton=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"sapUiTinyMargin\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvisible=\"{= '{= (${tabsInternal>/' + (${view>tableControlId} || ${view>chartControlId}) + '/notApplicable/fields} || []).length>0 }' }\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t</MessageStrip>\n\t\t\t\t\t\t\t\t\t\t\t\t<core:Fragment fragmentName=\"sap.fe.templates.ListReport.view.fragments.CollectionVisualization\" type=\"XML\" />\n\t\t\t\t\t\t\t\t\t\t\t</template:else>\n\t\t\t\t\t\t\t\t\t\t</template:if>\n\t\t\t\t\t\t\t\t\t</content>\n\t\t\t\t\t\t\t\t</IconTabFilter>\n\t\t\t\t\t\t\t</template:with></template:with>");
75
54
  }).join(""));
76
55
  };
77
-
78
56
  return MultipleMode;
79
57
  }(BuildingBlockBase), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "converterContext", [_dec2], {
80
58
  configurable: true,
@@ -85,4 +63,4 @@ sap.ui.define(["sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/building
85
63
  _exports = MultipleMode;
86
64
  return _exports;
87
65
  }, false);
88
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNdWx0aXBsZU1vZGUiLCJkZWZpbmVCdWlsZGluZ0Jsb2NrIiwibmFtZSIsIm5hbWVzcGFjZSIsImlzT3BlbiIsInhtbEF0dHJpYnV0ZSIsInR5cGUiLCJnZXRJbm5lckNvbnRyb2xzQVBJIiwiY29udmVydGVyQ29udGV4dCIsInZpZXdzIiwicmVkdWNlIiwiaW5uZXJDb250cm9scyIsInZpZXciLCJpbm5lckNvbnRyb2xJZCIsInRhYmxlQ29udHJvbElkIiwiY2hhcnRDb250cm9sSWQiLCJwdXNoIiwiam9pbiIsImdldFRlbXBsYXRlIiwieG1sIiwiZmlsdGVyQmFySWQiLCJtdWx0aVZpZXdzQ29udHJvbCIsInNob3dUYWJDb3VudHMiLCJpZCIsIm1hcCIsInZpZXdJZHgiLCJ0aXRsZSIsIkJ1aWxkaW5nQmxvY2tCYXNlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJNdWx0aXBsZU1vZGUuZnJhZ21lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVpbGRpbmdCbG9ja0Jhc2UsIGRlZmluZUJ1aWxkaW5nQmxvY2ssIHhtbEF0dHJpYnV0ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgeyB4bWwgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1J1bnRpbWVcIjtcbmltcG9ydCB0eXBlIHtcblx0TGlzdFJlcG9ydERlZmluaXRpb24sXG5cdFNpbmdsZUNoYXJ0Vmlld0RlZmluaXRpb24sXG5cdFNpbmdsZVRhYmxlVmlld0RlZmluaXRpb25cbn0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvdGVtcGxhdGVzL0xpc3RSZXBvcnRDb252ZXJ0ZXJcIjtcblxuQGRlZmluZUJ1aWxkaW5nQmxvY2soeyBuYW1lOiBcIk11bHRpcGxlTW9kZVwiLCBuYW1lc3BhY2U6IFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LnZpZXcuZnJhZ21lbnRzXCIsIGlzT3BlbjogdHJ1ZSB9KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTXVsdGlwbGVNb2RlIGV4dGVuZHMgQnVpbGRpbmdCbG9ja0Jhc2Uge1xuXHRAeG1sQXR0cmlidXRlKHsgdHlwZTogXCJzYXAudWkubW9kZWwuQ29udGV4dFwiIH0pXG5cdGNvbnZlcnRlckNvbnRleHQhOiBMaXN0UmVwb3J0RGVmaW5pdGlvbjtcblxuXHRnZXRJbm5lckNvbnRyb2xzQVBJKCkge1xuXHRcdHJldHVybiAoXG5cdFx0XHR0aGlzLmNvbnZlcnRlckNvbnRleHQ/LnZpZXdzXG5cdFx0XHRcdC5yZWR1Y2UoKGlubmVyQ29udHJvbHM6IHN0cmluZ1tdLCB2aWV3KSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgaW5uZXJDb250cm9sSWQgPVxuXHRcdFx0XHRcdFx0KHZpZXcgYXMgU2luZ2xlVGFibGVWaWV3RGVmaW5pdGlvbikudGFibGVDb250cm9sSWQgfHwgKHZpZXcgYXMgU2luZ2xlQ2hhcnRWaWV3RGVmaW5pdGlvbikuY2hhcnRDb250cm9sSWQ7XG5cdFx0XHRcdFx0aWYgKGlubmVyQ29udHJvbElkKSB7XG5cdFx0XHRcdFx0XHRpbm5lckNvbnRyb2xzLnB1c2goYCR7aW5uZXJDb250cm9sSWR9Ojokeyh2aWV3IGFzIFNpbmdsZVRhYmxlVmlld0RlZmluaXRpb24pLnRhYmxlQ29udHJvbElkID8gXCJUYWJsZVwiIDogXCJDaGFydFwifWApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gaW5uZXJDb250cm9scztcblx0XHRcdFx0fSwgW10pXG5cdFx0XHRcdC5qb2luKFwiLFwiKSB8fCBcIlwiXG5cdFx0KTtcblx0fVxuXG5cdGdldFRlbXBsYXRlKCkge1xuXHRcdHJldHVybiB4bWxgXG5cdFx0XHQ8ZmU6TXVsdGlwbGVNb2RlQ29udHJvbFxuXHRcdFx0XHR4bWxucz1cInNhcC5tXCJcblx0XHRcdFx0eG1sbnM6ZmU9XCJzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuY29udHJvbHNcIlxuXHRcdFx0XHR4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIlxuXHRcdFx0XHR4bWxuczptYWNybz1cInNhcC5mZS5tYWNyb3NcIlxuXHRcdFx0XHRpbm5lckNvbnRyb2xzPVwiJHt0aGlzLmdldElubmVyQ29udHJvbHNBUEkoKX1cIlxuXHRcdFx0XHRmaWx0ZXJDb250cm9sPVwiJHt0aGlzLmNvbnZlcnRlckNvbnRleHQuZmlsdGVyQmFySWR9XCJcblx0XHRcdFx0c2hvd0NvdW50cz1cIiR7dGhpcy5jb252ZXJ0ZXJDb250ZXh0Lm11bHRpVmlld3NDb250cm9sPy5zaG93VGFiQ291bnRzfVwiXG5cdFx0XHRcdGZyZWV6ZUNvbnRlbnQ9XCIkeyEhdGhpcy5jb252ZXJ0ZXJDb250ZXh0LmZpbHRlckJhcklkfVwiXG5cdFx0XHRcdGlkPVwiJHt0aGlzLmNvbnZlcnRlckNvbnRleHQubXVsdGlWaWV3c0NvbnRyb2w/LmlkfTo6Q29udHJvbFwiXG5cdFx0XHQ+XG5cdFx0XHRcdDxJY29uVGFiQmFyXG5cdFx0XHRcdGNvcmU6cmVxdWlyZT1cIntcblx0XHRcdFx0XHRNVUxUSUNPTlRST0w6ICdzYXAvZmUvdGVtcGxhdGVzL0xpc3RSZXBvcnQvY29udHJvbHMvTXVsdGlwbGVNb2RlQ29udHJvbCdcblx0XHRcdFx0fVwiXG5cdFx0XHRcdFx0ZXhwYW5kYWJsZT1cImZhbHNlXCJcblx0XHRcdFx0XHRoZWFkZXJNb2RlPVwiSW5saW5lXCJcblx0XHRcdFx0XHRpZD1cIiR7dGhpcy5jb252ZXJ0ZXJDb250ZXh0Lm11bHRpVmlld3NDb250cm9sPy5pZH1cIlxuXHRcdFx0XHRcdHN0cmV0Y2hDb250ZW50SGVpZ2h0PVwidHJ1ZVwiXG5cdFx0XHRcdFx0c2VsZWN0PVwiTVVMVElDT05UUk9MLmhhbmRsZVRhYkNoYW5nZSgkZXZlbnQpXCJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxpdGVtcz5cblx0XHRcdFx0XHQke3RoaXMuY29udmVydGVyQ29udGV4dC52aWV3c1xuXHRcdFx0XHRcdFx0Lm1hcCgodmlldywgdmlld0lkeCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gYDx0ZW1wbGF0ZTp3aXRoIHBhdGg9XCJjb252ZXJ0ZXJDb250ZXh0PnZpZXdzLyR7dmlld0lkeH0vXCIgdmFyPVwidmlld1wiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRlbXBsYXRlOnJlcXVpcmU9XCJ7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0SUQ6ICdzYXAvZmUvY29yZS9oZWxwZXJzL1N0YWJsZUlkSGVscGVyJ1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0eG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0eG1sbnM6dGVtcGxhdGU9XCJodHRwOi8vc2NoZW1hcy5zYXAuY29tL3NhcHVpNS9leHRlbnNpb24vc2FwLnVpLmNvcmUudGVtcGxhdGUvMVwiPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZTp3aXRoIHBhdGg9XCJ2aWV3PnByZXNlbnRhdGlvblwiIHZhcj1cInByZXNlbnRhdGlvbkNvbnRleHRcIj5cblx0XHRcdFx0XHRcdFx0XHQ8SWNvblRhYkZpbHRlclxuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dD1cIiR7dmlldy50aXRsZX1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0a2V5PVwiez0gSUQuZ2VuZXJhdGUoW1xcJHt2aWV3PnRhYmxlQ29udHJvbElkfSB8fCBcXCR7dmlldz5jdXN0b21UYWJJZH0gfHwgXFwke3ZpZXc+Y2hhcnRDb250cm9sSWR9XSl9XCJcblx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU9XCJ7dmlldz52aXNpYmxlfVwiXG5cdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdFx0PGNvbnRlbnQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZTppZiB0ZXN0PVwiez0gXFwke3ZpZXc+dHlwZX0gPT09ICdDdXN0b20nfVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZTp0aGVuPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LnZpZXcuZnJhZ21lbnRzLkN1c3RvbVZpZXdcIiB0eXBlPVwiWE1MXCIgLz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlOnRoZW4+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRlbXBsYXRlOmVsc2U+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8TWVzc2FnZVN0cmlwXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9XCJ7PSAnez0gKFxcJHt0YWJzSW50ZXJuYWw+LycgKyAoXFwke3ZpZXc+dGFibGVDb250cm9sSWR9IHx8IFxcJHt2aWV3PmNoYXJ0Q29udHJvbElkfSkgKyAnL25vdEFwcGxpY2FibGUvdGl0bGV9ICkgfScgfVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJJbmZvcm1hdGlvblwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNob3dJY29uPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNob3dDbG9zZUJ1dHRvbj1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInNhcFVpVGlueU1hcmdpblwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU9XCJ7PSAnez0gKFxcJHt0YWJzSW50ZXJuYWw+LycgKyAoXFwke3ZpZXc+dGFibGVDb250cm9sSWR9IHx8IFxcJHt2aWV3PmNoYXJ0Q29udHJvbElkfSkgKyAnL25vdEFwcGxpY2FibGUvZmllbGRzfSB8fCBbXSkubGVuZ3RoPjAgfScgfVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L01lc3NhZ2VTdHJpcD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydC52aWV3LmZyYWdtZW50cy5Db2xsZWN0aW9uVmlzdWFsaXphdGlvblwiIHR5cGU9XCJYTUxcIiAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdGVtcGxhdGU6ZWxzZT5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZTppZj5cblx0XHRcdFx0XHRcdFx0XHRcdDwvY29udGVudD5cblx0XHRcdFx0XHRcdFx0XHQ8L0ljb25UYWJGaWx0ZXI+XG5cdFx0XHRcdFx0XHRcdDwvdGVtcGxhdGU6d2l0aD48L3RlbXBsYXRlOndpdGg+YDtcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQuam9pbihcIlwiKX1cblx0XHRcdFx0XHQ8L2l0ZW1zPlxuXHRcdFx0XHQ8L0ljb25UYWJCYXI+XG5cdFx0XHQ8L2ZlOk11bHRpcGxlTW9kZUNvbnRyb2w+YDtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQVNxQkEsWSxXQURwQkMsbUJBQW1CLENBQUM7SUFBRUMsSUFBSSxFQUFFLGNBQVI7SUFBd0JDLFNBQVMsRUFBRSw0Q0FBbkM7SUFBaUZDLE1BQU0sRUFBRTtFQUF6RixDQUFELEMsVUFFbEJDLFlBQVksQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUixDQUFELEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBR2JDLG1CLEdBQUEsK0JBQXNCO01BQUE7O01BQ3JCLE9BQ0MsK0JBQUtDLGdCQUFMLGdGQUF1QkMsS0FBdkIsQ0FDRUMsTUFERixDQUNTLFVBQUNDLGFBQUQsRUFBMEJDLElBQTFCLEVBQW1DO1FBQzFDLElBQU1DLGNBQWMsR0FDbEJELElBQUQsQ0FBb0NFLGNBQXBDLElBQXVERixJQUFELENBQW9DRyxjQUQzRjs7UUFFQSxJQUFJRixjQUFKLEVBQW9CO1VBQ25CRixhQUFhLENBQUNLLElBQWQsV0FBc0JILGNBQXRCLGVBQTBDRCxJQUFELENBQW9DRSxjQUFwQyxHQUFxRCxPQUFyRCxHQUErRCxPQUF4RztRQUNBOztRQUNELE9BQU9ILGFBQVA7TUFDQSxDQVJGLEVBUUksRUFSSixFQVNFTSxJQVRGLENBU08sR0FUUCxNQVNlLEVBVmhCO0lBWUEsQzs7V0FFREMsVyxHQUFBLHVCQUFjO01BQUE7O01BQ2IsT0FBT0MsR0FBUCw4MkJBTW1CLEtBQUtaLG1CQUFMLEVBTm5CLEVBT21CLEtBQUtDLGdCQUFMLENBQXNCWSxXQVB6Qyw0QkFRZ0IsS0FBS1osZ0JBQUwsQ0FBc0JhLGlCQVJ0QywyREFRZ0IsdUJBQXlDQyxhQVJ6RCxFQVNtQixDQUFDLENBQUMsS0FBS2QsZ0JBQUwsQ0FBc0JZLFdBVDNDLDRCQVVRLEtBQUtaLGdCQUFMLENBQXNCYSxpQkFWOUIsMkRBVVEsdUJBQXlDRSxFQVZqRCw0QkFrQlMsS0FBS2YsZ0JBQUwsQ0FBc0JhLGlCQWxCL0IsMkRBa0JTLHVCQUF5Q0UsRUFsQmxELEVBdUJLLEtBQUtmLGdCQUFMLENBQXNCQyxLQUF0QixDQUNBZSxHQURBLENBQ0ksVUFBQ1osSUFBRCxFQUFPYSxPQUFQLEVBQW1CO1FBQ3ZCLDhEQUFzREEsT0FBdEQsMmNBUVViLElBQUksQ0FBQ2MsS0FSZjtNQWlDQSxDQW5DQSxFQW9DQVQsSUFwQ0EsQ0FvQ0ssRUFwQ0wsQ0F2Qkw7SUErREEsQzs7O0lBbkZ3Q1UsaUIifQ==
66
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNdWx0aXBsZU1vZGUiLCJkZWZpbmVCdWlsZGluZ0Jsb2NrIiwibmFtZSIsIm5hbWVzcGFjZSIsImlzT3BlbiIsInhtbEF0dHJpYnV0ZSIsInR5cGUiLCJnZXRJbm5lckNvbnRyb2xzQVBJIiwiY29udmVydGVyQ29udGV4dCIsInZpZXdzIiwicmVkdWNlIiwiaW5uZXJDb250cm9scyIsInZpZXciLCJpbm5lckNvbnRyb2xJZCIsInRhYmxlQ29udHJvbElkIiwiY2hhcnRDb250cm9sSWQiLCJwdXNoIiwiam9pbiIsImdldFRlbXBsYXRlIiwieG1sIiwiZmlsdGVyQmFySWQiLCJtdWx0aVZpZXdzQ29udHJvbCIsInNob3dUYWJDb3VudHMiLCJpZCIsIm1hcCIsInZpZXdJZHgiLCJ0aXRsZSIsIkJ1aWxkaW5nQmxvY2tCYXNlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJNdWx0aXBsZU1vZGUuZnJhZ21lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVpbGRpbmdCbG9ja0Jhc2UsIGRlZmluZUJ1aWxkaW5nQmxvY2ssIHhtbEF0dHJpYnV0ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgeyB4bWwgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1J1bnRpbWVcIjtcbmltcG9ydCB0eXBlIHtcblx0TGlzdFJlcG9ydERlZmluaXRpb24sXG5cdFNpbmdsZUNoYXJ0Vmlld0RlZmluaXRpb24sXG5cdFNpbmdsZVRhYmxlVmlld0RlZmluaXRpb25cbn0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvdGVtcGxhdGVzL0xpc3RSZXBvcnRDb252ZXJ0ZXJcIjtcblxuQGRlZmluZUJ1aWxkaW5nQmxvY2soeyBuYW1lOiBcIk11bHRpcGxlTW9kZVwiLCBuYW1lc3BhY2U6IFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LnZpZXcuZnJhZ21lbnRzXCIsIGlzT3BlbjogdHJ1ZSB9KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTXVsdGlwbGVNb2RlIGV4dGVuZHMgQnVpbGRpbmdCbG9ja0Jhc2Uge1xuXHRAeG1sQXR0cmlidXRlKHsgdHlwZTogXCJzYXAudWkubW9kZWwuQ29udGV4dFwiIH0pXG5cdGNvbnZlcnRlckNvbnRleHQhOiBMaXN0UmVwb3J0RGVmaW5pdGlvbjtcblxuXHRnZXRJbm5lckNvbnRyb2xzQVBJKCkge1xuXHRcdHJldHVybiAoXG5cdFx0XHR0aGlzLmNvbnZlcnRlckNvbnRleHQ/LnZpZXdzXG5cdFx0XHRcdC5yZWR1Y2UoKGlubmVyQ29udHJvbHM6IHN0cmluZ1tdLCB2aWV3KSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgaW5uZXJDb250cm9sSWQgPVxuXHRcdFx0XHRcdFx0KHZpZXcgYXMgU2luZ2xlVGFibGVWaWV3RGVmaW5pdGlvbikudGFibGVDb250cm9sSWQgfHwgKHZpZXcgYXMgU2luZ2xlQ2hhcnRWaWV3RGVmaW5pdGlvbikuY2hhcnRDb250cm9sSWQ7XG5cdFx0XHRcdFx0aWYgKGlubmVyQ29udHJvbElkKSB7XG5cdFx0XHRcdFx0XHRpbm5lckNvbnRyb2xzLnB1c2goYCR7aW5uZXJDb250cm9sSWR9Ojokeyh2aWV3IGFzIFNpbmdsZVRhYmxlVmlld0RlZmluaXRpb24pLnRhYmxlQ29udHJvbElkID8gXCJUYWJsZVwiIDogXCJDaGFydFwifWApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gaW5uZXJDb250cm9scztcblx0XHRcdFx0fSwgW10pXG5cdFx0XHRcdC5qb2luKFwiLFwiKSB8fCBcIlwiXG5cdFx0KTtcblx0fVxuXG5cdGdldFRlbXBsYXRlKCkge1xuXHRcdHJldHVybiB4bWxgXG5cdFx0XHQ8ZmU6TXVsdGlwbGVNb2RlQ29udHJvbFxuXHRcdFx0XHR4bWxucz1cInNhcC5tXCJcblx0XHRcdFx0eG1sbnM6ZmU9XCJzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuY29udHJvbHNcIlxuXHRcdFx0XHR4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIlxuXHRcdFx0XHR4bWxuczptYWNybz1cInNhcC5mZS5tYWNyb3NcIlxuXHRcdFx0XHRpbm5lckNvbnRyb2xzPVwiJHt0aGlzLmdldElubmVyQ29udHJvbHNBUEkoKX1cIlxuXHRcdFx0XHRmaWx0ZXJDb250cm9sPVwiJHt0aGlzLmNvbnZlcnRlckNvbnRleHQuZmlsdGVyQmFySWR9XCJcblx0XHRcdFx0c2hvd0NvdW50cz1cIiR7dGhpcy5jb252ZXJ0ZXJDb250ZXh0Lm11bHRpVmlld3NDb250cm9sPy5zaG93VGFiQ291bnRzfVwiXG5cdFx0XHRcdGZyZWV6ZUNvbnRlbnQ9XCIkeyEhdGhpcy5jb252ZXJ0ZXJDb250ZXh0LmZpbHRlckJhcklkfVwiXG5cdFx0XHRcdGlkPVwiJHt0aGlzLmNvbnZlcnRlckNvbnRleHQubXVsdGlWaWV3c0NvbnRyb2w/LmlkfTo6Q29udHJvbFwiXG5cdFx0XHQ+XG5cdFx0XHRcdDxJY29uVGFiQmFyXG5cdFx0XHRcdGNvcmU6cmVxdWlyZT1cIntcblx0XHRcdFx0XHRNVUxUSUNPTlRST0w6ICdzYXAvZmUvdGVtcGxhdGVzL0xpc3RSZXBvcnQvY29udHJvbHMvTXVsdGlwbGVNb2RlQ29udHJvbCdcblx0XHRcdFx0fVwiXG5cdFx0XHRcdFx0ZXhwYW5kYWJsZT1cImZhbHNlXCJcblx0XHRcdFx0XHRoZWFkZXJNb2RlPVwiSW5saW5lXCJcblx0XHRcdFx0XHRpZD1cIiR7dGhpcy5jb252ZXJ0ZXJDb250ZXh0Lm11bHRpVmlld3NDb250cm9sPy5pZH1cIlxuXHRcdFx0XHRcdHN0cmV0Y2hDb250ZW50SGVpZ2h0PVwidHJ1ZVwiXG5cdFx0XHRcdFx0c2VsZWN0PVwiTVVMVElDT05UUk9MLmhhbmRsZVRhYkNoYW5nZSgkZXZlbnQpXCJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxpdGVtcz5cblx0XHRcdFx0XHQke3RoaXMuY29udmVydGVyQ29udGV4dC52aWV3c1xuXHRcdFx0XHRcdFx0Lm1hcCgodmlldywgdmlld0lkeCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gYDx0ZW1wbGF0ZTp3aXRoIHBhdGg9XCJjb252ZXJ0ZXJDb250ZXh0PnZpZXdzLyR7dmlld0lkeH0vXCIgdmFyPVwidmlld1wiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRlbXBsYXRlOnJlcXVpcmU9XCJ7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0SUQ6ICdzYXAvZmUvY29yZS9oZWxwZXJzL1N0YWJsZUlkSGVscGVyJ1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0eG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0eG1sbnM6dGVtcGxhdGU9XCJodHRwOi8vc2NoZW1hcy5zYXAuY29tL3NhcHVpNS9leHRlbnNpb24vc2FwLnVpLmNvcmUudGVtcGxhdGUvMVwiPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZTp3aXRoIHBhdGg9XCJ2aWV3PnByZXNlbnRhdGlvblwiIHZhcj1cInByZXNlbnRhdGlvbkNvbnRleHRcIj5cblx0XHRcdFx0XHRcdFx0XHQ8SWNvblRhYkZpbHRlclxuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dD1cIiR7dmlldy50aXRsZX1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0a2V5PVwiez0gSUQuZ2VuZXJhdGUoW1xcJHt2aWV3PnRhYmxlQ29udHJvbElkfSB8fCBcXCR7dmlldz5jdXN0b21UYWJJZH0gfHwgXFwke3ZpZXc+Y2hhcnRDb250cm9sSWR9XSl9XCJcblx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU9XCJ7dmlldz52aXNpYmxlfVwiXG5cdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdFx0PGNvbnRlbnQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZTppZiB0ZXN0PVwiez0gXFwke3ZpZXc+dHlwZX0gPT09ICdDdXN0b20nfVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZTp0aGVuPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LnZpZXcuZnJhZ21lbnRzLkN1c3RvbVZpZXdcIiB0eXBlPVwiWE1MXCIgLz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlOnRoZW4+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRlbXBsYXRlOmVsc2U+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8TWVzc2FnZVN0cmlwXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ9XCJ7PSAnez0gKFxcJHt0YWJzSW50ZXJuYWw+LycgKyAoXFwke3ZpZXc+dGFibGVDb250cm9sSWR9IHx8IFxcJHt2aWV3PmNoYXJ0Q29udHJvbElkfSkgKyAnL25vdEFwcGxpY2FibGUvdGl0bGV9ICkgfScgfVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJJbmZvcm1hdGlvblwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNob3dJY29uPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNob3dDbG9zZUJ1dHRvbj1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInNhcFVpVGlueU1hcmdpblwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU9XCJ7PSAnez0gKFxcJHt0YWJzSW50ZXJuYWw+LycgKyAoXFwke3ZpZXc+dGFibGVDb250cm9sSWR9IHx8IFxcJHt2aWV3PmNoYXJ0Q29udHJvbElkfSkgKyAnL25vdEFwcGxpY2FibGUvZmllbGRzfSB8fCBbXSkubGVuZ3RoPjAgfScgfVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L01lc3NhZ2VTdHJpcD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydC52aWV3LmZyYWdtZW50cy5Db2xsZWN0aW9uVmlzdWFsaXphdGlvblwiIHR5cGU9XCJYTUxcIiAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdGVtcGxhdGU6ZWxzZT5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZTppZj5cblx0XHRcdFx0XHRcdFx0XHRcdDwvY29udGVudD5cblx0XHRcdFx0XHRcdFx0XHQ8L0ljb25UYWJGaWx0ZXI+XG5cdFx0XHRcdFx0XHRcdDwvdGVtcGxhdGU6d2l0aD48L3RlbXBsYXRlOndpdGg+YDtcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQuam9pbihcIlwiKX1cblx0XHRcdFx0XHQ8L2l0ZW1zPlxuXHRcdFx0XHQ8L0ljb25UYWJCYXI+XG5cdFx0XHQ8L2ZlOk11bHRpcGxlTW9kZUNvbnRyb2w+YDtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztNQVNxQkEsWUFBWSxXQURoQ0MsbUJBQW1CLENBQUM7SUFBRUMsSUFBSSxFQUFFLGNBQWM7SUFBRUMsU0FBUyxFQUFFLDRDQUE0QztJQUFFQyxNQUFNLEVBQUU7RUFBSyxDQUFDLENBQUMsVUFFbkhDLFlBQVksQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBdUIsQ0FBQyxDQUFDO0lBQUE7SUFBQTtNQUFBO01BQUE7UUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUEsT0FHL0NDLG1CQUFtQixHQUFuQiwrQkFBc0I7TUFBQTtNQUNyQixPQUNDLDhCQUFJLENBQUNDLGdCQUFnQiwwREFBckIsc0JBQXVCQyxLQUFLLENBQzFCQyxNQUFNLENBQUMsVUFBQ0MsYUFBdUIsRUFBRUMsSUFBSSxFQUFLO1FBQzFDLElBQU1DLGNBQWMsR0FDbEJELElBQUksQ0FBK0JFLGNBQWMsSUFBS0YsSUFBSSxDQUErQkcsY0FBYztRQUN6RyxJQUFJRixjQUFjLEVBQUU7VUFDbkJGLGFBQWEsQ0FBQ0ssSUFBSSxXQUFJSCxjQUFjLGVBQU1ELElBQUksQ0FBK0JFLGNBQWMsR0FBRyxPQUFPLEdBQUcsT0FBTyxFQUFHO1FBQ25IO1FBQ0EsT0FBT0gsYUFBYTtNQUNyQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ0xNLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSSxFQUFFO0lBRW5CLENBQUM7SUFBQSxPQUVEQyxXQUFXLEdBQVgsdUJBQWM7TUFBQTtNQUNiLE9BQU9DLEdBQUcsODJCQU1TLElBQUksQ0FBQ1osbUJBQW1CLEVBQUUsRUFDMUIsSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQ1ksV0FBVyw0QkFDcEMsSUFBSSxDQUFDWixnQkFBZ0IsQ0FBQ2EsaUJBQWlCLDJEQUF2Qyx1QkFBeUNDLGFBQWEsRUFDbkQsQ0FBQyxDQUFDLElBQUksQ0FBQ2QsZ0JBQWdCLENBQUNZLFdBQVcsNEJBQzlDLElBQUksQ0FBQ1osZ0JBQWdCLENBQUNhLGlCQUFpQiwyREFBdkMsdUJBQXlDRSxFQUFFLDRCQVExQyxJQUFJLENBQUNmLGdCQUFnQixDQUFDYSxpQkFBaUIsMkRBQXZDLHVCQUF5Q0UsRUFBRSxFQUsvQyxJQUFJLENBQUNmLGdCQUFnQixDQUFDQyxLQUFLLENBQzNCZSxHQUFHLENBQUMsVUFBQ1osSUFBSSxFQUFFYSxPQUFPLEVBQUs7UUFDdkIsOERBQXNEQSxPQUFPLDJjQVFuRGIsSUFBSSxDQUFDYyxLQUFLO01BeUJyQixDQUFDLENBQUMsQ0FDRFQsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUlkLENBQUM7SUFBQTtFQUFBLEVBbkZ3Q1UsaUJBQWlCO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQSJ9
@@ -6,24 +6,16 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/C
6
6
  "use strict";
7
7
 
8
8
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
9
-
10
9
  var property = ClassSupport.property;
11
10
  var defineUI5Class = ClassSupport.defineUI5Class;
12
-
13
11
  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
14
-
15
12
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16
-
17
13
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
18
-
19
14
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
20
-
21
15
  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
22
-
23
16
  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
24
-
25
17
  var VariantManagement = CoreLibrary.VariantManagement,
26
- CreationMode = CoreLibrary.CreationMode;
18
+ CreationMode = CoreLibrary.CreationMode;
27
19
  var SectionLayout = templateLib.ObjectPage.SectionLayout;
28
20
  var ObjectPageComponent = (_dec = defineUI5Class("sap.fe.templates.ObjectPage.Component", {
29
21
  library: "sap.fe.templates",
@@ -49,66 +41,51 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/C
49
41
  type: "object"
50
42
  }), _dec(_class = (_class2 = /*#__PURE__*/function (_TemplateComponent) {
51
43
  _inheritsLoose(ObjectPageComponent, _TemplateComponent);
52
-
53
44
  function ObjectPageComponent() {
54
45
  var _this;
55
-
56
46
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
47
  args[_key] = arguments[_key];
58
48
  }
59
-
60
49
  _this = _TemplateComponent.call.apply(_TemplateComponent, [this].concat(args)) || this;
61
-
62
50
  _initializerDefineProperty(_this, "variantManagement", _descriptor, _assertThisInitialized(_this));
63
-
64
51
  _initializerDefineProperty(_this, "sectionLayout", _descriptor2, _assertThisInitialized(_this));
65
-
66
52
  _initializerDefineProperty(_this, "showRelatedApps", _descriptor3, _assertThisInitialized(_this));
67
-
68
53
  _initializerDefineProperty(_this, "additionalSemanticObjects", _descriptor4, _assertThisInitialized(_this));
69
-
70
54
  _initializerDefineProperty(_this, "editableHeaderContent", _descriptor5, _assertThisInitialized(_this));
71
-
72
55
  _initializerDefineProperty(_this, "showBreadCrumbs", _descriptor6, _assertThisInitialized(_this));
73
-
74
56
  _initializerDefineProperty(_this, "inboundParameters", _descriptor7, _assertThisInitialized(_this));
75
-
76
57
  _this.DeferredContextCreated = false;
77
58
  return _this;
78
59
  }
79
-
80
60
  var _proto = ObjectPageComponent.prototype;
81
-
82
61
  _proto.isContextExpected = function isContextExpected() {
83
62
  return true;
84
- } // TODO: this should be ideally be handled by the editflow/routing without the need to have this method in the
63
+ }
64
+
65
+ // TODO: this should be ideally be handled by the editflow/routing without the need to have this method in the
85
66
  // object page - for now keep it here
86
67
  ;
87
-
88
68
  _proto.createDeferredContext = function createDeferredContext(sPath, oListBinding, bActionCreate) {
89
69
  var _this2 = this;
90
-
91
70
  if (!this.DeferredContextCreated) {
92
71
  this.DeferredContextCreated = true;
93
72
  var oParameters = {
94
73
  "$$groupId": "$auto.Heroes",
95
74
  "$$updateGroupId": "$auto"
96
- }; // In fullscreen mode, we recreate the list binding, as we don't want to have synchronization between views
75
+ };
76
+ // In fullscreen mode, we recreate the list binding, as we don't want to have synchronization between views
97
77
  // (it causes errors, e.g. pending changes due to creationRow)
98
-
99
78
  if (!oListBinding || oListBinding.isRelative() === false && !this.oAppComponent.getRootViewController().isFclEnabled()) {
100
79
  oListBinding = new ODataListBinding(this.getModel(), sPath.replace("(...)", ""), undefined, undefined, undefined, oParameters);
101
80
  }
102
-
103
81
  var oStartUpParams = this.oAppComponent && this.oAppComponent.getComponentData() && this.oAppComponent.getComponentData().startupParameters,
104
- oInboundParameters = this.getViewData().inboundParameters;
82
+ oInboundParameters = this.getViewData().inboundParameters;
105
83
  var createParams;
106
-
107
84
  if (oStartUpParams && oStartUpParams.preferredMode && oStartUpParams.preferredMode[0].indexOf("create") !== -1) {
108
85
  createParams = CommonUtils.getAdditionalParamsForCreate(oStartUpParams, oInboundParameters);
109
- } // for now wait until the view and the controller is created
110
-
86
+ }
111
87
 
88
+ // for now wait until the view and the controller is created
112
89
  this.getRootControl().getController().editFlow.createDocument(oListBinding, {
113
90
  creationMode: CreationMode.Sync,
114
91
  createAction: bActionCreate,
@@ -116,20 +93,18 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/C
116
93
  bFromDeferred: true
117
94
  }).finally(function () {
118
95
  _this2.DeferredContextCreated = false;
119
- }).catch(function () {// Do Nothing ?
96
+ }).catch(function () {
97
+ // Do Nothing ?
120
98
  });
121
99
  }
122
100
  };
123
-
124
101
  _proto.setVariantManagement = function setVariantManagement(sVariantManagement) {
125
102
  if (sVariantManagement === VariantManagement.Page) {
126
103
  Log.error("ObjectPage does not support Page-level variant management yet");
127
104
  sVariantManagement = VariantManagement.None;
128
105
  }
129
-
130
106
  this.setProperty("variantManagement", sVariantManagement);
131
107
  };
132
-
133
108
  return ObjectPageComponent;
134
109
  }(TemplateComponent), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "variantManagement", [_dec2], {
135
110
  configurable: true,
@@ -169,4 +144,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/C
169
144
  })), _class2)) || _class);
170
145
  return ObjectPageComponent;
171
146
  }, false);
172
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWYXJpYW50TWFuYWdlbWVudCIsIkNvcmVMaWJyYXJ5IiwiQ3JlYXRpb25Nb2RlIiwiU2VjdGlvbkxheW91dCIsInRlbXBsYXRlTGliIiwiT2JqZWN0UGFnZSIsIk9iamVjdFBhZ2VDb21wb25lbnQiLCJkZWZpbmVVSTVDbGFzcyIsImxpYnJhcnkiLCJtYW5pZmVzdCIsInByb3BlcnR5IiwidHlwZSIsImRlZmF1bHRWYWx1ZSIsIkNvbnRyb2wiLCJQYWdlIiwiRGVmZXJyZWRDb250ZXh0Q3JlYXRlZCIsImlzQ29udGV4dEV4cGVjdGVkIiwiY3JlYXRlRGVmZXJyZWRDb250ZXh0Iiwic1BhdGgiLCJvTGlzdEJpbmRpbmciLCJiQWN0aW9uQ3JlYXRlIiwib1BhcmFtZXRlcnMiLCJpc1JlbGF0aXZlIiwib0FwcENvbXBvbmVudCIsImdldFJvb3RWaWV3Q29udHJvbGxlciIsImlzRmNsRW5hYmxlZCIsIk9EYXRhTGlzdEJpbmRpbmciLCJnZXRNb2RlbCIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJvU3RhcnRVcFBhcmFtcyIsImdldENvbXBvbmVudERhdGEiLCJzdGFydHVwUGFyYW1ldGVycyIsIm9JbmJvdW5kUGFyYW1ldGVycyIsImdldFZpZXdEYXRhIiwiaW5ib3VuZFBhcmFtZXRlcnMiLCJjcmVhdGVQYXJhbXMiLCJwcmVmZXJyZWRNb2RlIiwiaW5kZXhPZiIsIkNvbW1vblV0aWxzIiwiZ2V0QWRkaXRpb25hbFBhcmFtc0ZvckNyZWF0ZSIsImdldFJvb3RDb250cm9sIiwiZ2V0Q29udHJvbGxlciIsImVkaXRGbG93IiwiY3JlYXRlRG9jdW1lbnQiLCJjcmVhdGlvbk1vZGUiLCJTeW5jIiwiY3JlYXRlQWN0aW9uIiwiZGF0YSIsImJGcm9tRGVmZXJyZWQiLCJmaW5hbGx5IiwiY2F0Y2giLCJzZXRWYXJpYW50TWFuYWdlbWVudCIsInNWYXJpYW50TWFuYWdlbWVudCIsIkxvZyIsImVycm9yIiwiTm9uZSIsInNldFByb3BlcnR5IiwiVGVtcGxhdGVDb21wb25lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IENvcmVMaWJyYXJ5IGZyb20gXCJzYXAvZmUvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgVGVtcGxhdGVDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL1RlbXBsYXRlQ29tcG9uZW50XCI7XG5pbXBvcnQgdGVtcGxhdGVMaWIgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvbGlicmFyeVwiO1xuaW1wb3J0IE9EYXRhTGlzdEJpbmRpbmcgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YUxpc3RCaW5kaW5nXCI7XG5cbmNvbnN0IFZhcmlhbnRNYW5hZ2VtZW50ID0gQ29yZUxpYnJhcnkuVmFyaWFudE1hbmFnZW1lbnQsXG5cdENyZWF0aW9uTW9kZSA9IENvcmVMaWJyYXJ5LkNyZWF0aW9uTW9kZTtcbmNvbnN0IFNlY3Rpb25MYXlvdXQgPSB0ZW1wbGF0ZUxpYi5PYmplY3RQYWdlLlNlY3Rpb25MYXlvdXQ7XG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuQ29tcG9uZW50XCIsIHsgbGlicmFyeTogXCJzYXAuZmUudGVtcGxhdGVzXCIsIG1hbmlmZXN0OiBcImpzb25cIiB9KVxuY2xhc3MgT2JqZWN0UGFnZUNvbXBvbmVudCBleHRlbmRzIFRlbXBsYXRlQ29tcG9uZW50IHtcblx0LyoqXG5cdCAqIERlZmluZXMgaWYgYW5kIG9uIHdoaWNoIGxldmVsIHZhcmlhbnRzIGNhbiBiZSBjb25maWd1cmVkOlxuXHQgKiBcdFx0Tm9uZTogbm8gdmFyaWFudCBjb25maWd1cmF0aW9uIGF0IGFsbFxuXHQgKiBcdFx0UGFnZTogb25lIHZhcmlhbnQgY29uZmlndXJhdGlvbiBmb3IgdGhlIHdob2xlIHBhZ2Vcblx0ICogXHRcdENvbnRyb2w6IHZhcmlhbnQgY29uZmlndXJhdGlvbiBvbiBjb250cm9sIGxldmVsXG5cdCAqL1xuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwic2FwLmZlLmNvcmUuVmFyaWFudE1hbmFnZW1lbnRcIixcblx0XHRkZWZhdWx0VmFsdWU6IFZhcmlhbnRNYW5hZ2VtZW50LkNvbnRyb2xcblx0fSlcblx0dmFyaWFudE1hbmFnZW1lbnQ6IHR5cGVvZiBWYXJpYW50TWFuYWdlbWVudDtcblx0LyoqXG5cdCAqIERlZmluZXMgaG93IHRoZSBzZWN0aW9ucyBhcmUgcmVuZGVyZWRcblx0ICogXHRcdFBhZ2U6IGFsbCBzZWN0aW9ucyBhcmUgc2hvd24gb24gb25lIHBhZ2Vcblx0ICogXHRcdFRhYnM6IGVhY2ggdG9wLWxldmVsIHNlY3Rpb24gaXMgc2hvd24gaW4gYW4gb3duIHRhYlxuXHQgKi9cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5TZWN0aW9uTGF5b3V0XCIsXG5cdFx0ZGVmYXVsdFZhbHVlOiBTZWN0aW9uTGF5b3V0LlBhZ2Vcblx0fSlcblx0c2VjdGlvbkxheW91dDogdHlwZW9mIFNlY3Rpb25MYXlvdXQ7XG5cdC8qKlxuXHQgKiBFbmFibGVzIHRoZSByZWxhdGVkIGFwcHMgZmVhdHVyZXNcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0ZGVmYXVsdFZhbHVlOiBmYWxzZVxuXHR9KVxuXHRzaG93UmVsYXRlZEFwcHMhOiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0YWRkaXRpb25hbFNlbWFudGljT2JqZWN0czogYW55O1xuXHQvKipcblx0ICogRW5hYmxlcyB0aGUgZWRpdGFibGUgb2JqZWN0IHBhZ2UgaGVhZGVyXG5cdCAqL1xuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiLFxuXHRcdGRlZmF1bHRWYWx1ZTogdHJ1ZVxuXHR9KVxuXHRlZGl0YWJsZUhlYWRlckNvbnRlbnQhOiBib29sZWFuO1xuXHQvKipcblx0ICogRW5hYmxlcyB0aGUgQnJlYWRDcnVtYnMgZmVhdHVyZXNcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0ZGVmYXVsdFZhbHVlOiB0cnVlXG5cdH0pXG5cdHNob3dCcmVhZENydW1icyE6IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBpbmJvdW5kIE5hdmlnYXRpb25cblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJvYmplY3RcIlxuXHR9KVxuXHRpbmJvdW5kUGFyYW1ldGVyczogYW55O1xuXHRwcml2YXRlIERlZmVycmVkQ29udGV4dENyZWF0ZWQ6IEJvb2xlYW4gPSBmYWxzZTtcblxuXHRpc0NvbnRleHRFeHBlY3RlZCgpIHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdC8vIFRPRE86IHRoaXMgc2hvdWxkIGJlIGlkZWFsbHkgYmUgaGFuZGxlZCBieSB0aGUgZWRpdGZsb3cvcm91dGluZyB3aXRob3V0IHRoZSBuZWVkIHRvIGhhdmUgdGhpcyBtZXRob2QgaW4gdGhlXG5cdC8vIG9iamVjdCBwYWdlIC0gZm9yIG5vdyBrZWVwIGl0IGhlcmVcblx0Y3JlYXRlRGVmZXJyZWRDb250ZXh0KHNQYXRoOiBhbnksIG9MaXN0QmluZGluZzogYW55LCBiQWN0aW9uQ3JlYXRlOiBhbnkpIHtcblx0XHRpZiAoIXRoaXMuRGVmZXJyZWRDb250ZXh0Q3JlYXRlZCkge1xuXHRcdFx0dGhpcy5EZWZlcnJlZENvbnRleHRDcmVhdGVkID0gdHJ1ZTtcblx0XHRcdGNvbnN0IG9QYXJhbWV0ZXJzID0ge1xuXHRcdFx0XHRcIiQkZ3JvdXBJZFwiOiBcIiRhdXRvLkhlcm9lc1wiLFxuXHRcdFx0XHRcIiQkdXBkYXRlR3JvdXBJZFwiOiBcIiRhdXRvXCJcblx0XHRcdH07XG5cdFx0XHQvLyBJbiBmdWxsc2NyZWVuIG1vZGUsIHdlIHJlY3JlYXRlIHRoZSBsaXN0IGJpbmRpbmcsIGFzIHdlIGRvbid0IHdhbnQgdG8gaGF2ZSBzeW5jaHJvbml6YXRpb24gYmV0d2VlbiB2aWV3c1xuXHRcdFx0Ly8gKGl0IGNhdXNlcyBlcnJvcnMsIGUuZy4gcGVuZGluZyBjaGFuZ2VzIGR1ZSB0byBjcmVhdGlvblJvdylcblx0XHRcdGlmIChcblx0XHRcdFx0IW9MaXN0QmluZGluZyB8fFxuXHRcdFx0XHQob0xpc3RCaW5kaW5nLmlzUmVsYXRpdmUoKSA9PT0gZmFsc2UgJiYgISh0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um9vdFZpZXdDb250cm9sbGVyKCkgYXMgYW55KS5pc0ZjbEVuYWJsZWQoKSlcblx0XHRcdCkge1xuXHRcdFx0XHRvTGlzdEJpbmRpbmcgPSBuZXcgKE9EYXRhTGlzdEJpbmRpbmcgYXMgYW55KShcblx0XHRcdFx0XHR0aGlzLmdldE1vZGVsKCksXG5cdFx0XHRcdFx0c1BhdGgucmVwbGFjZShcIiguLi4pXCIsIFwiXCIpLFxuXHRcdFx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRcdFx0dW5kZWZpbmVkLFxuXHRcdFx0XHRcdG9QYXJhbWV0ZXJzXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBvU3RhcnRVcFBhcmFtcyA9XG5cdFx0XHRcdFx0dGhpcy5vQXBwQ29tcG9uZW50ICYmIHRoaXMub0FwcENvbXBvbmVudC5nZXRDb21wb25lbnREYXRhKCkgJiYgdGhpcy5vQXBwQ29tcG9uZW50LmdldENvbXBvbmVudERhdGEoKS5zdGFydHVwUGFyYW1ldGVycyxcblx0XHRcdFx0b0luYm91bmRQYXJhbWV0ZXJzID0gdGhpcy5nZXRWaWV3RGF0YSgpLmluYm91bmRQYXJhbWV0ZXJzO1xuXHRcdFx0bGV0IGNyZWF0ZVBhcmFtcztcblx0XHRcdGlmIChvU3RhcnRVcFBhcmFtcyAmJiBvU3RhcnRVcFBhcmFtcy5wcmVmZXJyZWRNb2RlICYmIG9TdGFydFVwUGFyYW1zLnByZWZlcnJlZE1vZGVbMF0uaW5kZXhPZihcImNyZWF0ZVwiKSAhPT0gLTEpIHtcblx0XHRcdFx0Y3JlYXRlUGFyYW1zID0gQ29tbW9uVXRpbHMuZ2V0QWRkaXRpb25hbFBhcmFtc0ZvckNyZWF0ZShvU3RhcnRVcFBhcmFtcywgb0luYm91bmRQYXJhbWV0ZXJzKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gZm9yIG5vdyB3YWl0IHVudGlsIHRoZSB2aWV3IGFuZCB0aGUgY29udHJvbGxlciBpcyBjcmVhdGVkXG5cdFx0XHQodGhpcy5nZXRSb290Q29udHJvbCgpIGFzIGFueSlcblx0XHRcdFx0LmdldENvbnRyb2xsZXIoKVxuXHRcdFx0XHQuZWRpdEZsb3cuY3JlYXRlRG9jdW1lbnQob0xpc3RCaW5kaW5nLCB7XG5cdFx0XHRcdFx0Y3JlYXRpb25Nb2RlOiBDcmVhdGlvbk1vZGUuU3luYyxcblx0XHRcdFx0XHRjcmVhdGVBY3Rpb246IGJBY3Rpb25DcmVhdGUsXG5cdFx0XHRcdFx0ZGF0YTogY3JlYXRlUGFyYW1zLFxuXHRcdFx0XHRcdGJGcm9tRGVmZXJyZWQ6IHRydWVcblx0XHRcdFx0fSlcblx0XHRcdFx0LmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuRGVmZXJyZWRDb250ZXh0Q3JlYXRlZCA9IGZhbHNlO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuY2F0Y2goZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdC8vIERvIE5vdGhpbmcgP1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRzZXRWYXJpYW50TWFuYWdlbWVudChzVmFyaWFudE1hbmFnZW1lbnQ6IGFueSkge1xuXHRcdGlmIChzVmFyaWFudE1hbmFnZW1lbnQgPT09IFZhcmlhbnRNYW5hZ2VtZW50LlBhZ2UpIHtcblx0XHRcdExvZy5lcnJvcihcIk9iamVjdFBhZ2UgZG9lcyBub3Qgc3VwcG9ydCBQYWdlLWxldmVsIHZhcmlhbnQgbWFuYWdlbWVudCB5ZXRcIik7XG5cdFx0XHRzVmFyaWFudE1hbmFnZW1lbnQgPSBWYXJpYW50TWFuYWdlbWVudC5Ob25lO1xuXHRcdH1cblxuXHRcdHRoaXMuc2V0UHJvcGVydHkoXCJ2YXJpYW50TWFuYWdlbWVudFwiLCBzVmFyaWFudE1hbmFnZW1lbnQpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdFBhZ2VDb21wb25lbnQ7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVFBLElBQU1BLGlCQUFpQixHQUFHQyxXQUFXLENBQUNELGlCQUF0QztFQUFBLElBQ0NFLFlBQVksR0FBR0QsV0FBVyxDQUFDQyxZQUQ1QjtFQUVBLElBQU1DLGFBQWEsR0FBR0MsV0FBVyxDQUFDQyxVQUFaLENBQXVCRixhQUE3QztNQUVNRyxtQixXQURMQyxjQUFjLENBQUMsdUNBQUQsRUFBMEM7SUFBRUMsT0FBTyxFQUFFLGtCQUFYO0lBQStCQyxRQUFRLEVBQUU7RUFBekMsQ0FBMUMsQyxVQVFiQyxRQUFRLENBQUM7SUFDVEMsSUFBSSxFQUFFLCtCQURHO0lBRVRDLFlBQVksRUFBRVosaUJBQWlCLENBQUNhO0VBRnZCLENBQUQsQyxVQVVSSCxRQUFRLENBQUM7SUFDVEMsSUFBSSxFQUFFLDJDQURHO0lBRVRDLFlBQVksRUFBRVQsYUFBYSxDQUFDVztFQUZuQixDQUFELEMsVUFRUkosUUFBUSxDQUFDO0lBQ1RDLElBQUksRUFBRSxTQURHO0lBRVRDLFlBQVksRUFBRTtFQUZMLENBQUQsQyxVQU1SRixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVIsQ0FBRCxDLFVBS1JELFFBQVEsQ0FBQztJQUNUQyxJQUFJLEVBQUUsU0FERztJQUVUQyxZQUFZLEVBQUU7RUFGTCxDQUFELEMsVUFRUkYsUUFBUSxDQUFDO0lBQ1RDLElBQUksRUFBRSxTQURHO0lBRVRDLFlBQVksRUFB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
147
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWYXJpYW50TWFuYWdlbWVudCIsIkNvcmVMaWJyYXJ5IiwiQ3JlYXRpb25Nb2RlIiwiU2VjdGlvbkxheW91dCIsInRlbXBsYXRlTGliIiwiT2JqZWN0UGFnZSIsIk9iamVjdFBhZ2VDb21wb25lbnQiLCJkZWZpbmVVSTVDbGFzcyIsImxpYnJhcnkiLCJtYW5pZmVzdCIsInByb3BlcnR5IiwidHlwZSIsImRlZmF1bHRWYWx1ZSIsIkNvbnRyb2wiLCJQYWdlIiwiRGVmZXJyZWRDb250ZXh0Q3JlYXRlZCIsImlzQ29udGV4dEV4cGVjdGVkIiwiY3JlYXRlRGVmZXJyZWRDb250ZXh0Iiwic1BhdGgiLCJvTGlzdEJpbmRpbmciLCJiQWN0aW9uQ3JlYXRlIiwib1BhcmFtZXRlcnMiLCJpc1JlbGF0aXZlIiwib0FwcENvbXBvbmVudCIsImdldFJvb3RWaWV3Q29udHJvbGxlciIsImlzRmNsRW5hYmxlZCIsIk9EYXRhTGlzdEJpbmRpbmciLCJnZXRNb2RlbCIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJvU3RhcnRVcFBhcmFtcyIsImdldENvbXBvbmVudERhdGEiLCJzdGFydHVwUGFyYW1ldGVycyIsIm9JbmJvdW5kUGFyYW1ldGVycyIsImdldFZpZXdEYXRhIiwiaW5ib3VuZFBhcmFtZXRlcnMiLCJjcmVhdGVQYXJhbXMiLCJwcmVmZXJyZWRNb2RlIiwiaW5kZXhPZiIsIkNvbW1vblV0aWxzIiwiZ2V0QWRkaXRpb25hbFBhcmFtc0ZvckNyZWF0ZSIsImdldFJvb3RDb250cm9sIiwiZ2V0Q29udHJvbGxlciIsImVkaXRGbG93IiwiY3JlYXRlRG9jdW1lbnQiLCJjcmVhdGlvbk1vZGUiLCJTeW5jIiwiY3JlYXRlQWN0aW9uIiwiZGF0YSIsImJGcm9tRGVmZXJyZWQiLCJmaW5hbGx5IiwiY2F0Y2giLCJzZXRWYXJpYW50TWFuYWdlbWVudCIsInNWYXJpYW50TWFuYWdlbWVudCIsIkxvZyIsImVycm9yIiwiTm9uZSIsInNldFByb3BlcnR5IiwiVGVtcGxhdGVDb21wb25lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IENvcmVMaWJyYXJ5IGZyb20gXCJzYXAvZmUvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgVGVtcGxhdGVDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL1RlbXBsYXRlQ29tcG9uZW50XCI7XG5pbXBvcnQgdGVtcGxhdGVMaWIgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvbGlicmFyeVwiO1xuaW1wb3J0IE9EYXRhTGlzdEJpbmRpbmcgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YUxpc3RCaW5kaW5nXCI7XG5cbmNvbnN0IFZhcmlhbnRNYW5hZ2VtZW50ID0gQ29yZUxpYnJhcnkuVmFyaWFudE1hbmFnZW1lbnQsXG5cdENyZWF0aW9uTW9kZSA9IENvcmVMaWJyYXJ5LkNyZWF0aW9uTW9kZTtcbmNvbnN0IFNlY3Rpb25MYXlvdXQgPSB0ZW1wbGF0ZUxpYi5PYmplY3RQYWdlLlNlY3Rpb25MYXlvdXQ7XG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuQ29tcG9uZW50XCIsIHsgbGlicmFyeTogXCJzYXAuZmUudGVtcGxhdGVzXCIsIG1hbmlmZXN0OiBcImpzb25cIiB9KVxuY2xhc3MgT2JqZWN0UGFnZUNvbXBvbmVudCBleHRlbmRzIFRlbXBsYXRlQ29tcG9uZW50IHtcblx0LyoqXG5cdCAqIERlZmluZXMgaWYgYW5kIG9uIHdoaWNoIGxldmVsIHZhcmlhbnRzIGNhbiBiZSBjb25maWd1cmVkOlxuXHQgKiBcdFx0Tm9uZTogbm8gdmFyaWFudCBjb25maWd1cmF0aW9uIGF0IGFsbFxuXHQgKiBcdFx0UGFnZTogb25lIHZhcmlhbnQgY29uZmlndXJhdGlvbiBmb3IgdGhlIHdob2xlIHBhZ2Vcblx0ICogXHRcdENvbnRyb2w6IHZhcmlhbnQgY29uZmlndXJhdGlvbiBvbiBjb250cm9sIGxldmVsXG5cdCAqL1xuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwic2FwLmZlLmNvcmUuVmFyaWFudE1hbmFnZW1lbnRcIixcblx0XHRkZWZhdWx0VmFsdWU6IFZhcmlhbnRNYW5hZ2VtZW50LkNvbnRyb2xcblx0fSlcblx0dmFyaWFudE1hbmFnZW1lbnQ6IHR5cGVvZiBWYXJpYW50TWFuYWdlbWVudDtcblx0LyoqXG5cdCAqIERlZmluZXMgaG93IHRoZSBzZWN0aW9ucyBhcmUgcmVuZGVyZWRcblx0ICogXHRcdFBhZ2U6IGFsbCBzZWN0aW9ucyBhcmUgc2hvd24gb24gb25lIHBhZ2Vcblx0ICogXHRcdFRhYnM6IGVhY2ggdG9wLWxldmVsIHNlY3Rpb24gaXMgc2hvd24gaW4gYW4gb3duIHRhYlxuXHQgKi9cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5TZWN0aW9uTGF5b3V0XCIsXG5cdFx0ZGVmYXVsdFZhbHVlOiBTZWN0aW9uTGF5b3V0LlBhZ2Vcblx0fSlcblx0c2VjdGlvbkxheW91dDogdHlwZW9mIFNlY3Rpb25MYXlvdXQ7XG5cdC8qKlxuXHQgKiBFbmFibGVzIHRoZSByZWxhdGVkIGFwcHMgZmVhdHVyZXNcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0ZGVmYXVsdFZhbHVlOiBmYWxzZVxuXHR9KVxuXHRzaG93UmVsYXRlZEFwcHMhOiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0YWRkaXRpb25hbFNlbWFudGljT2JqZWN0czogYW55O1xuXHQvKipcblx0ICogRW5hYmxlcyB0aGUgZWRpdGFibGUgb2JqZWN0IHBhZ2UgaGVhZGVyXG5cdCAqL1xuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiLFxuXHRcdGRlZmF1bHRWYWx1ZTogdHJ1ZVxuXHR9KVxuXHRlZGl0YWJsZUhlYWRlckNvbnRlbnQhOiBib29sZWFuO1xuXHQvKipcblx0ICogRW5hYmxlcyB0aGUgQnJlYWRDcnVtYnMgZmVhdHVyZXNcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0ZGVmYXVsdFZhbHVlOiB0cnVlXG5cdH0pXG5cdHNob3dCcmVhZENydW1icyE6IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBpbmJvdW5kIE5hdmlnYXRpb25cblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJvYmplY3RcIlxuXHR9KVxuXHRpbmJvdW5kUGFyYW1ldGVyczogYW55O1xuXHRwcml2YXRlIERlZmVycmVkQ29udGV4dENyZWF0ZWQ6IEJvb2xlYW4gPSBmYWxzZTtcblxuXHRpc0NvbnRleHRFeHBlY3RlZCgpIHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdC8vIFRPRE86IHRoaXMgc2hvdWxkIGJlIGlkZWFsbHkgYmUgaGFuZGxlZCBieSB0aGUgZWRpdGZsb3cvcm91dGluZyB3aXRob3V0IHRoZSBuZWVkIHRvIGhhdmUgdGhpcyBtZXRob2QgaW4gdGhlXG5cdC8vIG9iamVjdCBwYWdlIC0gZm9yIG5vdyBrZWVwIGl0IGhlcmVcblx0Y3JlYXRlRGVmZXJyZWRDb250ZXh0KHNQYXRoOiBhbnksIG9MaXN0QmluZGluZzogYW55LCBiQWN0aW9uQ3JlYXRlOiBhbnkpIHtcblx0XHRpZiAoIXRoaXMuRGVmZXJyZWRDb250ZXh0Q3JlYXRlZCkge1xuXHRcdFx0dGhpcy5EZWZlcnJlZENvbnRleHRDcmVhdGVkID0gdHJ1ZTtcblx0XHRcdGNvbnN0IG9QYXJhbWV0ZXJzID0ge1xuXHRcdFx0XHRcIiQkZ3JvdXBJZFwiOiBcIiRhdXRvLkhlcm9lc1wiLFxuXHRcdFx0XHRcIiQkdXBkYXRlR3JvdXBJZFwiOiBcIiRhdXRvXCJcblx0XHRcdH07XG5cdFx0XHQvLyBJbiBmdWxsc2NyZWVuIG1vZGUsIHdlIHJlY3JlYXRlIHRoZSBsaXN0IGJpbmRpbmcsIGFzIHdlIGRvbid0IHdhbnQgdG8gaGF2ZSBzeW5jaHJvbml6YXRpb24gYmV0d2VlbiB2aWV3c1xuXHRcdFx0Ly8gKGl0IGNhdXNlcyBlcnJvcnMsIGUuZy4gcGVuZGluZyBjaGFuZ2VzIGR1ZSB0byBjcmVhdGlvblJvdylcblx0XHRcdGlmIChcblx0XHRcdFx0IW9MaXN0QmluZGluZyB8fFxuXHRcdFx0XHQob0xpc3RCaW5kaW5nLmlzUmVsYXRpdmUoKSA9PT0gZmFsc2UgJiYgISh0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um9vdFZpZXdDb250cm9sbGVyKCkgYXMgYW55KS5pc0ZjbEVuYWJsZWQoKSlcblx0XHRcdCkge1xuXHRcdFx0XHRvTGlzdEJpbmRpbmcgPSBuZXcgKE9EYXRhTGlzdEJpbmRpbmcgYXMgYW55KShcblx0XHRcdFx0XHR0aGlzLmdldE1vZGVsKCksXG5cdFx0XHRcdFx0c1BhdGgucmVwbGFjZShcIiguLi4pXCIsIFwiXCIpLFxuXHRcdFx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRcdFx0dW5kZWZpbmVkLFxuXHRcdFx0XHRcdG9QYXJhbWV0ZXJzXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBvU3RhcnRVcFBhcmFtcyA9XG5cdFx0XHRcdFx0dGhpcy5vQXBwQ29tcG9uZW50ICYmIHRoaXMub0FwcENvbXBvbmVudC5nZXRDb21wb25lbnREYXRhKCkgJiYgdGhpcy5vQXBwQ29tcG9uZW50LmdldENvbXBvbmVudERhdGEoKS5zdGFydHVwUGFyYW1ldGVycyxcblx0XHRcdFx0b0luYm91bmRQYXJhbWV0ZXJzID0gdGhpcy5nZXRWaWV3RGF0YSgpLmluYm91bmRQYXJhbWV0ZXJzO1xuXHRcdFx0bGV0IGNyZWF0ZVBhcmFtcztcblx0XHRcdGlmIChvU3RhcnRVcFBhcmFtcyAmJiBvU3RhcnRVcFBhcmFtcy5wcmVmZXJyZWRNb2RlICYmIG9TdGFydFVwUGFyYW1zLnByZWZlcnJlZE1vZGVbMF0uaW5kZXhPZihcImNyZWF0ZVwiKSAhPT0gLTEpIHtcblx0XHRcdFx0Y3JlYXRlUGFyYW1zID0gQ29tbW9uVXRpbHMuZ2V0QWRkaXRpb25hbFBhcmFtc0ZvckNyZWF0ZShvU3RhcnRVcFBhcmFtcywgb0luYm91bmRQYXJhbWV0ZXJzKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gZm9yIG5vdyB3YWl0IHVudGlsIHRoZSB2aWV3IGFuZCB0aGUgY29udHJvbGxlciBpcyBjcmVhdGVkXG5cdFx0XHQodGhpcy5nZXRSb290Q29udHJvbCgpIGFzIGFueSlcblx0XHRcdFx0LmdldENvbnRyb2xsZXIoKVxuXHRcdFx0XHQuZWRpdEZsb3cuY3JlYXRlRG9jdW1lbnQob0xpc3RCaW5kaW5nLCB7XG5cdFx0XHRcdFx0Y3JlYXRpb25Nb2RlOiBDcmVhdGlvbk1vZGUuU3luYyxcblx0XHRcdFx0XHRjcmVhdGVBY3Rpb246IGJBY3Rpb25DcmVhdGUsXG5cdFx0XHRcdFx0ZGF0YTogY3JlYXRlUGFyYW1zLFxuXHRcdFx0XHRcdGJGcm9tRGVmZXJyZWQ6IHRydWVcblx0XHRcdFx0fSlcblx0XHRcdFx0LmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuRGVmZXJyZWRDb250ZXh0Q3JlYXRlZCA9IGZhbHNlO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuY2F0Y2goZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdC8vIERvIE5vdGhpbmcgP1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRzZXRWYXJpYW50TWFuYWdlbWVudChzVmFyaWFudE1hbmFnZW1lbnQ6IGFueSkge1xuXHRcdGlmIChzVmFyaWFudE1hbmFnZW1lbnQgPT09IFZhcmlhbnRNYW5hZ2VtZW50LlBhZ2UpIHtcblx0XHRcdExvZy5lcnJvcihcIk9iamVjdFBhZ2UgZG9lcyBub3Qgc3VwcG9ydCBQYWdlLWxldmVsIHZhcmlhbnQgbWFuYWdlbWVudCB5ZXRcIik7XG5cdFx0XHRzVmFyaWFudE1hbmFnZW1lbnQgPSBWYXJpYW50TWFuYWdlbWVudC5Ob25lO1xuXHRcdH1cblxuXHRcdHRoaXMuc2V0UHJvcGVydHkoXCJ2YXJpYW50TWFuYWdlbWVudFwiLCBzVmFyaWFudE1hbmFnZW1lbnQpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdFBhZ2VDb21wb25lbnQ7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7RUFRQSxJQUFNQSxpQkFBaUIsR0FBR0MsV0FBVyxDQUFDRCxpQkFBaUI7SUFDdERFLFlBQVksR0FBR0QsV0FBVyxDQUFDQyxZQUFZO0VBQ3hDLElBQU1DLGFBQWEsR0FBR0MsV0FBVyxDQUFDQyxVQUFVLENBQUNGLGFBQWE7RUFBQyxJQUVyREcsbUJBQW1CLFdBRHhCQyxjQUFjLENBQUMsdUNBQXVDLEVBQUU7SUFBRUMsT0FBTyxFQUFFLGtCQUFrQjtJQUFFQyxRQUFRLEVBQUU7RUFBTyxDQUFDLENBQUMsVUFRekdDLFFBQVEsQ0FBQztJQUNUQyxJQUFJLEVBQUUsK0JBQStCO0lBQ3JDQyxZQUFZLEVBQUVaLGlCQUFpQixDQUFDYTtFQUNqQyxDQUFDLENBQUMsVUFPREgsUUFBUSxDQUFDO0lBQ1RDLElBQUksRUFBRSwyQ0FBMkM7SUFDakRDLFlBQVksRUFBRVQsYUFBYSxDQUFDVztFQUM3QixDQUFDLENBQUMsVUFLREosUUFBUSxDQUFDO0lBQ1RDLElBQUksRUFBRSxTQUFTO0lBQ2ZDLFlBQVksRUFBRTtFQUNmLENBQUMsQ0FBQyxVQUdERixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLFVBSzVCRCxRQUFRLENBQUM7SUFDVEMsSUFBSSxFQUFFLFNBQVM7SUFDZkMsWUFBWSxFQUFFO0VBQ2YsQ0FBQyxDQUFDLFVBS0RGLFFBQVEsQ0FBQztJQUNUQyxJQUFJLEVBQUUsU0FBUztJQUNmQyxZQUFZLEVBQUU7RUFDZixDQUFDLENBQUMsVUFLREYsUUFBUSxDQUFDO0lBQ1RDLElBQUksRUFBRTtFQUNQLENBQUMsQ0FBQztJQUFBO0lBQUE7TUFBQTtNQUFBO1FBQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQSxNQUVNSSxzQkFBc0IsR0FBWSxLQUFLO01BQUE7SUFBQTtJQUFBO0lBQUEsT0FFL0NDLGlCQUFpQixHQUFqQiw2QkFBb0I7TUFDbkIsT0FBTyxJQUFJO0lBQ1o7O0lBRUE7SUFDQTtJQUFBO0lBQUEsT0FDQUMscUJBQXFCLEdBQXJCLCtCQUFzQkMsS0FBVSxFQUFFQyxZQUFpQixFQUFFQyxhQUFrQixFQUFFO01BQUE7TUFDeEUsSUFBSSxDQUFDLElBQUksQ0FBQ0wsc0JBQXNCLEVBQUU7UUFDakMsSUFBSSxDQUFDQSxzQkFBc0IsR0FBRyxJQUFJO1FBQ2xDLElBQU1NLFdBQVcsR0FBRztVQUNuQixXQUFXLEVBQUUsY0FBYztVQUMzQixpQkFBaUIsRUFBRTtRQUNwQixDQUFDO1FBQ0Q7UUFDQTtRQUNBLElBQ0MsQ0FBQ0YsWUFBWSxJQUNaQSxZQUFZLENBQUNHLFVBQVUsRUFBRSxLQUFLLEtBQUssSUFBSSxDQUFFLElBQUksQ0FBQ0MsYUFBYSxDQUFDQyxxQkFBcUIsRUFBRSxDQUFTQyxZQUFZLEVBQUcsRUFDM0c7VUFDRE4sWUFBWSxHQUFHLElBQUtPLGdCQUFnQixDQUNuQyxJQUFJLENBQUNDLFFBQVEsRUFBRSxFQUNmVCxLQUFLLENBQUNVLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQzFCQyxTQUFTLEVBQ1RBLFNBQVMsRUFDVEEsU0FBUyxFQUNUUixXQUFXLENBQ1g7UUFDRjtRQUNBLElBQU1TLGNBQWMsR0FDbEIsSUFBSSxDQUFDUCxhQUFhLElBQUksSUFBSSxDQUFDQSxhQUFhLENBQUNRLGdCQUFnQixFQUFFLElBQUksSUFBSSxDQUFDUixhQUFhLENBQUNRLGdCQUFnQixFQUFFLENBQUNDLGlCQUFpQjtVQUN2SEMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDQyxXQUFXLEVBQUUsQ0FBQ0MsaUJBQWlCO1FBQzFELElBQUlDLFlBQVk7UUFDaEIsSUFBSU4sY0FBYyxJQUFJQSxjQUFjLENBQUNPLGFBQWEsSUFBSVAsY0FBYyxDQUFDTyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtVQUMvR0YsWUFBWSxHQUFHRyxXQUFXLENBQUNDLDRCQUE0QixDQUFDVixjQUFjLEVBQUVHLGtCQUFrQixDQUFDO1FBQzVGOztRQUVBO1FBQ0MsSUFBSSxDQUFDUSxjQUFjLEVBQUUsQ0FDcEJDLGFBQWEsRUFBRSxDQUNmQyxRQUFRLENBQUNDLGNBQWMsQ0FBQ3pCLFlBQVksRUFBRTtVQUN0QzBCLFlBQVksRUFBRTNDLFlBQVksQ0FBQzRDLElBQUk7VUFDL0JDLFlBQVksRUFBRTNCLGFBQWE7VUFDM0I0QixJQUFJLEVBQUVaLFlBQVk7VUFDbEJhLGFBQWEsRUFBRTtRQUNoQixDQUFDLENBQUMsQ0FDREMsT0FBTyxDQUFDLFlBQU07VUFDZCxNQUFJLENBQUNuQyxzQkFBc0IsR0FBRyxLQUFLO1FBQ3BDLENBQUMsQ0FBQyxDQUNEb0MsS0FBSyxDQUFDLFlBQVk7VUFDbEI7UUFBQSxDQUNBLENBQUM7TUFDSjtJQUNELENBQUM7SUFBQSxPQUVEQyxvQkFBb0IsR0FBcEIsOEJBQXFCQyxrQkFBdUIsRUFBRTtNQUM3QyxJQUFJQSxrQkFBa0IsS0FBS3JELGlCQUFpQixDQUFDYyxJQUFJLEVBQUU7UUFDbER3QyxHQUFHLENBQUNDLEtBQUssQ0FBQywrREFBK0QsQ0FBQztRQUMxRUYsa0JBQWtCLEdBQUdyRCxpQkFBaUIsQ0FBQ3dELElBQUk7TUFDNUM7TUFFQSxJQUFJLENBQUNDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRUosa0JBQWtCLENBQUM7SUFDMUQsQ0FBQztJQUFBO0VBQUEsRUF2SGdDSyxpQkFBaUI7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0VBQUEsT0EwSHBDcEQsbUJBQW1CO0FBQUEifQ==
@@ -6,29 +6,22 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
6
6
  "use strict";
7
7
 
8
8
  var _dec, _class;
9
-
10
9
  var MessageType = library.MessageType;
11
10
  var defineUI5Class = ClassSupport.defineUI5Class;
12
11
  var getSideContentLayoutID = ID.getSideContentLayoutID;
13
-
14
12
  function _catch(body, recover) {
15
13
  try {
16
14
  var result = body();
17
15
  } catch (e) {
18
16
  return recover(e);
19
17
  }
20
-
21
18
  if (result && result.then) {
22
19
  return result.then(void 0, recover);
23
20
  }
24
-
25
21
  return result;
26
22
  }
27
-
28
23
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
29
-
30
24
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
31
-
32
25
  /**
33
26
  * Extension API for object pages on SAP Fiori elements for OData V4.
34
27
  *
@@ -40,13 +33,10 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
40
33
  */
41
34
  var ObjectPageExtensionAPI = (_dec = defineUI5Class("sap.fe.templates.ObjectPage.ExtensionAPI"), _dec(_class = /*#__PURE__*/function (_ExtensionAPI) {
42
35
  _inheritsLoose(ObjectPageExtensionAPI, _ExtensionAPI);
43
-
44
36
  function ObjectPageExtensionAPI() {
45
37
  return _ExtensionAPI.apply(this, arguments) || this;
46
38
  }
47
-
48
39
  var _proto = ObjectPageExtensionAPI.prototype;
49
-
50
40
  /**
51
41
  * Refreshes either the whole object page or only parts of it.
52
42
  *
@@ -59,21 +49,18 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
59
49
  */
60
50
  _proto.refresh = function refresh(vPath) {
61
51
  var oBindingContext = this._view.getBindingContext();
62
-
63
52
  if (!oBindingContext) {
64
53
  // nothing to be refreshed - do not block the app!
65
54
  return Promise.resolve();
66
55
  }
67
-
68
56
  var oAppComponent = CommonUtils.getAppComponent(this._view),
69
- oSideEffectsService = oAppComponent.getSideEffectsService(),
70
- oMetaModel = oBindingContext.getModel().getMetaModel(),
71
- oSideEffects = {
72
- TargetProperties: [],
73
- TargetEntities: []
74
- };
57
+ oSideEffectsService = oAppComponent.getSideEffectsService(),
58
+ oMetaModel = oBindingContext.getModel().getMetaModel(),
59
+ oSideEffects = {
60
+ TargetProperties: [],
61
+ TargetEntities: []
62
+ };
75
63
  var aPaths, sPath, sBaseEntitySet, sKind;
76
-
77
64
  if (vPath === undefined || vPath === null) {
78
65
  // we just add an empty path which should refresh the page with all dependent bindings
79
66
  oSideEffects.TargetEntities.push({
@@ -82,10 +69,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
82
69
  } else {
83
70
  aPaths = Array.isArray(vPath) ? vPath : [vPath];
84
71
  sBaseEntitySet = this._controller.getOwnerComponent().getEntitySet();
85
-
86
72
  for (var i = 0; i < aPaths.length; i++) {
87
73
  sPath = aPaths[i];
88
-
89
74
  if (sPath === "") {
90
75
  // an empty path shall refresh the entity without dependencies which means * for the model
91
76
  oSideEffects.TargetProperties.push({
@@ -93,7 +78,6 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
93
78
  });
94
79
  } else {
95
80
  sKind = oMetaModel.getObject("/".concat(sBaseEntitySet, "/").concat(sPath, "/$kind"));
96
-
97
81
  if (sKind === "NavigationProperty") {
98
82
  oSideEffects.TargetEntities.push({
99
83
  $NavigationPropertyPath: sPath
@@ -108,9 +92,9 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
108
92
  }
109
93
  }
110
94
  }
111
-
112
95
  return oSideEffectsService.requestSideEffects(oSideEffects.TargetEntities.concat(oSideEffects.TargetProperties), oBindingContext);
113
96
  }
97
+
114
98
  /**
115
99
  * Gets the list entries currently selected for the table.
116
100
  *
@@ -118,18 +102,15 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
118
102
  * @param sTableId The ID identifying the table the selected context is requested for
119
103
  * @returns Array containing the selected contexts
120
104
  * @public
121
- */
122
- ;
123
-
105
+ */;
124
106
  _proto.getSelectedContexts = function getSelectedContexts(sTableId) {
125
107
  var oTable = this._view.byId(sTableId);
126
-
127
108
  if (oTable && oTable.isA("sap.fe.macros.table.TableAPI")) {
128
109
  oTable = oTable.getContent();
129
110
  }
130
-
131
111
  return oTable && oTable.isA("sap.ui.mdc.Table") && oTable.getSelectedContexts() || [];
132
112
  }
113
+
133
114
  /**
134
115
  * Displays or hides the side content of an object page.
135
116
  *
@@ -137,28 +118,25 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
137
118
  * @param sSubSectionKey Key of the side content fragment as defined in the manifest.json
138
119
  * @param [bShow] Optional Boolean flag to show or hide the side content
139
120
  * @public
140
- */
141
- ;
142
-
121
+ */;
143
122
  _proto.showSideContent = function showSideContent(sSubSectionKey, bShow) {
144
123
  var sBlockID = getSideContentLayoutID(sSubSectionKey),
145
- oBlock = this._view.byId(sBlockID),
146
- bBlockState = bShow === undefined ? !oBlock.getShowSideContent() : bShow;
147
-
124
+ oBlock = this._view.byId(sBlockID),
125
+ bBlockState = bShow === undefined ? !oBlock.getShowSideContent() : bShow;
148
126
  oBlock.setShowSideContent(bBlockState, false);
149
127
  }
128
+
150
129
  /**
151
130
  * Gets the bound context of the current object page.
152
131
  *
153
132
  * @alias sap.fe.templates.ObjectPage.ExtensionAPI#getBindingContext
154
133
  * @returns Context bound to the object page
155
134
  * @public
156
- */
157
- ;
158
-
135
+ */;
159
136
  _proto.getBindingContext = function getBindingContext() {
160
137
  return this._view.getBindingContext();
161
138
  }
139
+
162
140
  /**
163
141
  * Build a message to be displayed below the anchor bar.
164
142
  *
@@ -166,25 +144,19 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
166
144
  * @param {sap.ui.core.message.Message[]} messages Array of messages used to generated the message
167
145
  * @returns {Promise<Message>} Promise containing the generated message
168
146
  * @private
169
- */
170
- ;
171
-
147
+ */;
172
148
  _proto._buildOPMessage = function _buildOPMessage(messages) {
173
149
  try {
174
150
  var _this2 = this;
175
-
176
151
  var view = _this2._view;
177
152
  return Promise.resolve(view.getModel("sap.fe.i18n").getResourceBundle()).then(function (resourceBundle) {
178
153
  var message = null;
179
-
180
154
  switch (messages.length) {
181
155
  case 0:
182
156
  break;
183
-
184
157
  case 1:
185
158
  message = messages[0];
186
159
  break;
187
-
188
160
  default:
189
161
  var messageStats = {
190
162
  "Error": {
@@ -208,7 +180,6 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
208
180
  }, new Message({
209
181
  type: MessageType.Information
210
182
  }));
211
-
212
183
  if (messageStats.Error.count === 0 && messageStats.Warning.count === 0 && messageStats.Information.count > 0) {
213
184
  message.setMessage(resourceBundle.getText("OBJECTPAGESTATE_INFORMATION"));
214
185
  } else if (messageStats.Error.count > 0 && messageStats.Warning.count > 0 || messageStats.Information.count > 0) {
@@ -216,9 +187,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
216
187
  } else {
217
188
  message.setMessage(resourceBundle.getText(message.getType() === MessageType.Error ? "OBJECTPAGESTATE_ERROR" : "OBJECTPAGESTATE_WARNING"));
218
189
  }
219
-
220
190
  }
221
-
222
191
  return message;
223
192
  });
224
193
  } catch (e) {
@@ -233,14 +202,11 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
233
202
  * @public
234
203
  */
235
204
  ;
236
-
237
205
  _proto.showMessages = function showMessages(messages) {
238
206
  try {
239
207
  var _this4 = this;
240
-
241
208
  var view = _this4._view;
242
209
  var internalModelContext = view.getBindingContext("internal");
243
-
244
210
  var _temp2 = _catch(function () {
245
211
  return Promise.resolve(_this4._buildOPMessage(messages)).then(function (message) {
246
212
  if (message) {
@@ -254,7 +220,6 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
254
220
  }, function () {
255
221
  Log.error("Cannot display ObjectPage message");
256
222
  });
257
-
258
223
  return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
259
224
  } catch (e) {
260
225
  return Promise.reject(e);
@@ -267,15 +232,13 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
267
232
  * @public
268
233
  */
269
234
  ;
270
-
271
235
  _proto.hideMessage = function hideMessage() {
272
236
  var view = this._view;
273
237
  var internalModelContext = view.getBindingContext("internal");
274
238
  internalModelContext === null || internalModelContext === void 0 ? void 0 : internalModelContext.setProperty("OPMessageStripVisibility", false);
275
239
  };
276
-
277
240
  return ObjectPageExtensionAPI;
278
241
  }(ExtensionAPI)) || _class);
279
242
  return ObjectPageExtensionAPI;
280
243
  }, false);
281
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJib2R5IiwicmVjb3ZlciIsInJlc3VsdCIsImUiLCJ0aGVuIiwiT2JqZWN0UGFnZUV4dGVuc2lvbkFQSSIsImRlZmluZVVJNUNsYXNzIiwicmVmcmVzaCIsInZQYXRoIiwib0JpbmRpbmdDb250ZXh0IiwiX3ZpZXciLCJnZXRCaW5kaW5nQ29udGV4dCIsIlByb21pc2UiLCJyZXNvbHZlIiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50Iiwib1NpZGVFZmZlY3RzU2VydmljZSIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsIm9NZXRhTW9kZWwiLCJnZXRNb2RlbCIsImdldE1ldGFNb2RlbCIsIm9TaWRlRWZmZWN0cyIsIlRhcmdldFByb3BlcnRpZXMiLCJUYXJnZXRFbnRpdGllcyIsImFQYXRocyIsInNQYXRoIiwic0Jhc2VFbnRpdHlTZXQiLCJzS2luZCIsInVuZGVmaW5lZCIsInB1c2giLCIkTmF2aWdhdGlvblByb3BlcnR5UGF0aCIsIkFycmF5IiwiaXNBcnJheSIsIl9jb250cm9sbGVyIiwiZ2V0T3duZXJDb21wb25lbnQiLCJnZXRFbnRpdHlTZXQiLCJpIiwibGVuZ3RoIiwiJFByb3BlcnR5UGF0aCIsImdldE9iamVjdCIsInJlamVjdCIsInJlcXVlc3RTaWRlRWZmZWN0cyIsImNvbmNhdCIsImdldFNlbGVjdGVkQ29udGV4dHMiLCJzVGFibGVJZCIsIm9UYWJsZSIsImJ5SWQiLCJpc0EiLCJnZXRDb250ZW50Iiwic2hvd1NpZGVDb250ZW50Iiwic1N1YlNlY3Rpb25LZXkiLCJiU2hvdyIsInNCbG9ja0lEIiwiZ2V0U2lkZUNvbnRlbnRMYXlvdXRJRCIsIm9CbG9jayIsImJCbG9ja1N0YXRlIiwiZ2V0U2hvd1NpZGVDb250ZW50Iiwic2V0U2hvd1NpZGVDb250ZW50IiwiX2J1aWxkT1BNZXNzYWdlIiwibWVzc2FnZXMiLCJ2aWV3IiwiZ2V0UmVzb3VyY2VCdW5kbGUiLCJyZXNvdXJjZUJ1bmRsZSIsIm1lc3NhZ2UiLCJtZXNzYWdlU3RhdHMiLCJpZCIsImNvdW50IiwicmVkdWNlIiwiYWNjIiwiY3VycmVudFZhbHVlIiwiY3VycmVudFR5cGUiLCJnZXRUeXBlIiwic2V0VHlwZSIsIk1lc3NhZ2UiLCJ0eXBlIiwiTWVzc2FnZVR5cGUiLCJJbmZvcm1hdGlvbiIsIkVycm9yIiwiV2FybmluZyIsInNldE1lc3NhZ2UiLCJnZXRUZXh0Iiwic2hvd01lc3NhZ2VzIiwiaW50ZXJuYWxNb2RlbENvbnRleHQiLCJzZXRQcm9wZXJ0eSIsImdldE1lc3NhZ2UiLCJoaWRlTWVzc2FnZSIsIkxvZyIsImVycm9yIiwiRXh0ZW5zaW9uQVBJIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJFeHRlbnNpb25BUEkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBnZXRTaWRlQ29udGVudExheW91dElEIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvaGVscGVycy9JRFwiO1xuaW1wb3J0IEV4dGVuc2lvbkFQSSBmcm9tIFwic2FwL2ZlL2NvcmUvRXh0ZW5zaW9uQVBJXCI7XG5pbXBvcnQgdHlwZSB7IEVuaGFuY2VXaXRoVUk1IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgVGFibGVBUEkgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGVBUElcIjtcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCBNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VcIjtcbmltcG9ydCB0eXBlIER5bmFtaWNTaWRlQ29udGVudCBmcm9tIFwic2FwL3VpL2xheW91dC9EeW5hbWljU2lkZUNvbnRlbnRcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL3Jlc291cmNlL1Jlc291cmNlTW9kZWxcIjtcblxuLyoqXG4gKiBFeHRlbnNpb24gQVBJIGZvciBvYmplY3QgcGFnZXMgb24gU0FQIEZpb3JpIGVsZW1lbnRzIGZvciBPRGF0YSBWNC5cbiAqXG4gKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSVxuICogQHB1YmxpY1xuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQGZpbmFsXG4gKiBAc2luY2UgMS43OS4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUElcIilcbmNsYXNzIE9iamVjdFBhZ2VFeHRlbnNpb25BUEkgZXh0ZW5kcyBFeHRlbnNpb25BUEkge1xuXHQvKipcblx0ICogUmVmcmVzaGVzIGVpdGhlciB0aGUgd2hvbGUgb2JqZWN0IHBhZ2Ugb3Igb25seSBwYXJ0cyBvZiBpdC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjcmVmcmVzaFxuXHQgKiBAcGFyYW0gW3ZQYXRoXSBQYXRoIG9yIGFycmF5IG9mIHBhdGhzIHJlZmVycmluZyB0byBlbnRpdGllcyBvciBwcm9wZXJ0aWVzIHRvIGJlIHJlZnJlc2hlZC5cblx0ICogSWYgb21pdHRlZCwgdGhlIHdob2xlIG9iamVjdCBwYWdlIGlzIHJlZnJlc2hlZC4gVGhlIHBhdGggXCJcIiByZWZyZXNoZXMgdGhlIGVudGl0eSBhc3NpZ25lZCB0byB0aGUgb2JqZWN0IHBhZ2Vcblx0ICogd2l0aG91dCBuYXZpZ2F0aW9uc1xuXHQgKiBAcmV0dXJucyBSZXNvbHZlZCBvbmNlIHRoZSBkYXRhIGlzIHJlZnJlc2hlZCBvciByZWplY3RlZCBpZiB0aGUgcmVxdWVzdCBmYWlsZWRcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cmVmcmVzaCh2UGF0aDogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcblx0XHRjb25zdCBvQmluZGluZ0NvbnRleHQgPSB0aGlzLl92aWV3LmdldEJpbmRpbmdDb250ZXh0KCkgYXMgQ29udGV4dDtcblx0XHRpZiAoIW9CaW5kaW5nQ29udGV4dCkge1xuXHRcdFx0Ly8gbm90aGluZyB0byBiZSByZWZyZXNoZWQgLSBkbyBub3QgYmxvY2sgdGhlIGFwcCFcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0XHR9XG5cdFx0Y29uc3Qgb0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLl92aWV3KSxcblx0XHRcdG9TaWRlRWZmZWN0c1NlcnZpY2UgPSBvQXBwQ29tcG9uZW50LmdldFNpZGVFZmZlY3RzU2VydmljZSgpLFxuXHRcdFx0b01ldGFNb2RlbCA9IG9CaW5kaW5nQ29udGV4dC5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsLFxuXHRcdFx0b1NpZGVFZmZlY3RzOiBhbnkgPSB7XG5cdFx0XHRcdFRhcmdldFByb3BlcnRpZXM6IFtdLFxuXHRcdFx0XHRUYXJnZXRFbnRpdGllczogW11cblx0XHRcdH07XG5cdFx0bGV0IGFQYXRocywgc1BhdGgsIHNCYXNlRW50aXR5U2V0LCBzS2luZDtcblxuXHRcdGlmICh2UGF0aCA9PT0gdW5kZWZpbmVkIHx8IHZQYXRoID09PSBudWxsKSB7XG5cdFx0XHQvLyB3ZSBqdXN0IGFkZCBhbiBlbXB0eSBwYXRoIHdoaWNoIHNob3VsZCByZWZyZXNoIHRoZSBwYWdlIHdpdGggYWxsIGRlcGVuZGVudCBiaW5kaW5nc1xuXHRcdFx0b1NpZGVFZmZlY3RzLlRhcmdldEVudGl0aWVzLnB1c2goe1xuXHRcdFx0XHQkTmF2aWdhdGlvblByb3BlcnR5UGF0aDogXCJcIlxuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGFQYXRocyA9IEFycmF5LmlzQXJyYXkodlBhdGgpID8gdlBhdGggOiBbdlBhdGhdO1xuXHRcdFx0c0Jhc2VFbnRpdHlTZXQgPSAodGhpcy5fY29udHJvbGxlci5nZXRPd25lckNvbXBvbmVudCgpIGFzIGFueSkuZ2V0RW50aXR5U2V0KCk7XG5cblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYVBhdGhzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdHNQYXRoID0gYVBhdGhzW2ldO1xuXHRcdFx0XHRpZiAoc1BhdGggPT09IFwiXCIpIHtcblx0XHRcdFx0XHQvLyBhbiBlbXB0eSBwYXRoIHNoYWxsIHJlZnJlc2ggdGhlIGVudGl0eSB3aXRob3V0IGRlcGVuZGVuY2llcyB3aGljaCBtZWFucyAqIGZvciB0aGUgbW9kZWxcblx0XHRcdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0UHJvcGVydGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdCRQcm9wZXJ0eVBhdGg6IFwiKlwiXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0c0tpbmQgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgLyR7c0Jhc2VFbnRpdHlTZXR9LyR7c1BhdGh9LyRraW5kYCk7XG5cblx0XHRcdFx0XHRpZiAoc0tpbmQgPT09IFwiTmF2aWdhdGlvblByb3BlcnR5XCIpIHtcblx0XHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRFbnRpdGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdFx0JE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHNQYXRoXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHNLaW5kKSB7XG5cdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0UHJvcGVydGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdFx0JFByb3BlcnR5UGF0aDogc1BhdGhcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoYCR7c1BhdGh9IGlzIG5vdCBhIHZhbGlkIHBhdGggdG8gYmUgcmVmcmVzaGVkYCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBvU2lkZUVmZmVjdHNTZXJ2aWNlLnJlcXVlc3RTaWRlRWZmZWN0cyhvU2lkZUVmZmVjdHMuVGFyZ2V0RW50aXRpZXMuY29uY2F0KG9TaWRlRWZmZWN0cy5UYXJnZXRQcm9wZXJ0aWVzKSwgb0JpbmRpbmdDb250ZXh0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsaXN0IGVudHJpZXMgY3VycmVudGx5IHNlbGVjdGVkIGZvciB0aGUgdGFibGUuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI2dldFNlbGVjdGVkQ29udGV4dHNcblx0ICogQHBhcmFtIHNUYWJsZUlkIFRoZSBJRCBpZGVudGlmeWluZyB0aGUgdGFibGUgdGhlIHNlbGVjdGVkIGNvbnRleHQgaXMgcmVxdWVzdGVkIGZvclxuXHQgKiBAcmV0dXJucyBBcnJheSBjb250YWluaW5nIHRoZSBzZWxlY3RlZCBjb250ZXh0c1xuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRTZWxlY3RlZENvbnRleHRzKHNUYWJsZUlkOiBzdHJpbmcpIHtcblx0XHRsZXQgb1RhYmxlID0gdGhpcy5fdmlldy5ieUlkKHNUYWJsZUlkKTtcblx0XHRpZiAob1RhYmxlICYmIG9UYWJsZS5pc0EoXCJzYXAuZmUubWFjcm9zLnRhYmxlLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRvVGFibGUgPSAob1RhYmxlIGFzIEVuaGFuY2VXaXRoVUk1PFRhYmxlQVBJPikuZ2V0Q29udGVudCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKG9UYWJsZSAmJiBvVGFibGUuaXNBKFwic2FwLnVpLm1kYy5UYWJsZVwiKSAmJiAob1RhYmxlIGFzIGFueSkuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyBvciBoaWRlcyB0aGUgc2lkZSBjb250ZW50IG9mIGFuIG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93U2lkZUNvbnRlbnRcblx0ICogQHBhcmFtIHNTdWJTZWN0aW9uS2V5IEtleSBvZiB0aGUgc2lkZSBjb250ZW50IGZyYWdtZW50IGFzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0Lmpzb25cblx0ICogQHBhcmFtIFtiU2hvd10gT3B0aW9uYWwgQm9vbGVhbiBmbGFnIHRvIHNob3cgb3IgaGlkZSB0aGUgc2lkZSBjb250ZW50XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHNob3dTaWRlQ29udGVudChzU3ViU2VjdGlvbktleTogc3RyaW5nLCBiU2hvdzogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IHNCbG9ja0lEID0gZ2V0U2lkZUNvbnRlbnRMYXlvdXRJRChzU3ViU2VjdGlvbktleSksXG5cdFx0XHRvQmxvY2sgPSB0aGlzLl92aWV3LmJ5SWQoc0Jsb2NrSUQpLFxuXHRcdFx0YkJsb2NrU3RhdGUgPSBiU2hvdyA9PT0gdW5kZWZpbmVkID8gIShvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5nZXRTaG93U2lkZUNvbnRlbnQoKSA6IGJTaG93O1xuXHRcdChvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5zZXRTaG93U2lkZUNvbnRlbnQoYkJsb2NrU3RhdGUsIGZhbHNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBib3VuZCBjb250ZXh0IG9mIHRoZSBjdXJyZW50IG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNnZXRCaW5kaW5nQ29udGV4dFxuXHQgKiBAcmV0dXJucyBDb250ZXh0IGJvdW5kIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRCaW5kaW5nQ29udGV4dCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkIGEgbWVzc2FnZSB0byBiZSBkaXNwbGF5ZWQgYmVsb3cgdGhlIGFuY2hvciBiYXIuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI19idWlsZE9QTWVzc2FnZVxuXHQgKiBAcGFyYW0ge3NhcC51aS5jb3JlLm1lc3NhZ2UuTWVzc2FnZVtdfSBtZXNzYWdlcyBBcnJheSBvZiBtZXNzYWdlcyB1c2VkIHRvIGdlbmVyYXRlZCB0aGUgbWVzc2FnZVxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZTxNZXNzYWdlPn0gUHJvbWlzZSBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgbWVzc2FnZVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0YXN5bmMgX2J1aWxkT1BNZXNzYWdlKG1lc3NhZ2VzOiBNZXNzYWdlW10pOiBQcm9taXNlPE1lc3NhZ2UgfCBudWxsPiB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgcmVzb3VyY2VCdW5kbGUgPSBhd2FpdCAodmlldy5nZXRNb2RlbChcInNhcC5mZS5pMThuXCIpIGFzIFJlc291cmNlTW9kZWwpLmdldFJlc291cmNlQnVuZGxlKCk7XG5cdFx0bGV0IG1lc3NhZ2U6IE1lc3NhZ2UgfCBudWxsID0gbnVsbDtcblx0XHRzd2l0Y2ggKG1lc3NhZ2VzLmxlbmd0aCkge1xuXHRcdFx0Y2FzZSAwOlxuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgMTpcblx0XHRcdFx0bWVzc2FnZSA9IG1lc3NhZ2VzWzBdO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGNvbnN0IG1lc3NhZ2VTdGF0czogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHtcblx0XHRcdFx0XHRcIkVycm9yXCI6IHsgaWQ6IDIsIGNvdW50OiAwIH0sXG5cdFx0XHRcdFx0XCJXYXJuaW5nXCI6IHsgaWQ6IDEsIGNvdW50OiAwIH0sXG5cdFx0XHRcdFx0XCJJbmZvcm1hdGlvblwiOiB7IGlkOiAwLCBjb3VudDogMCB9XG5cdFx0XHRcdH07XG5cdFx0XHRcdG1lc3NhZ2UgPSBtZXNzYWdlcy5yZWR1Y2UoKGFjYywgY3VycmVudFZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgY3VycmVudFR5cGUgPSBjdXJyZW50VmFsdWUuZ2V0VHlwZSgpO1xuXHRcdFx0XHRcdGFjYy5zZXRUeXBlKG1lc3NhZ2VTdGF0c1tjdXJyZW50VHlwZV0uaWQgPiBtZXNzYWdlU3RhdHNbYWNjLmdldFR5cGUoKV0uaWQgPyBjdXJyZW50VHlwZSA6IGFjYy5nZXRUeXBlKCkpO1xuXHRcdFx0XHRcdG1lc3NhZ2VTdGF0c1tjdXJyZW50VHlwZV0uY291bnQrKztcblx0XHRcdFx0XHRyZXR1cm4gYWNjO1xuXHRcdFx0XHR9LCBuZXcgTWVzc2FnZSh7IHR5cGU6IE1lc3NhZ2VUeXBlLkluZm9ybWF0aW9uIH0pKTtcblxuXHRcdFx0XHRpZiAobWVzc2FnZVN0YXRzLkVycm9yLmNvdW50ID09PSAwICYmIG1lc3NhZ2VTdGF0cy5XYXJuaW5nLmNvdW50ID09PSAwICYmIG1lc3NhZ2VTdGF0cy5JbmZvcm1hdGlvbi5jb3VudCA+IDApIHtcblx0XHRcdFx0XHRtZXNzYWdlLnNldE1lc3NhZ2UocmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk9CSkVDVFBBR0VTVEFURV9JTkZPUk1BVElPTlwiKSk7XG5cdFx0XHRcdH0gZWxzZSBpZiAoKG1lc3NhZ2VTdGF0cy5FcnJvci5jb3VudCA+IDAgJiYgbWVzc2FnZVN0YXRzLldhcm5pbmcuY291bnQgPiAwKSB8fCBtZXNzYWdlU3RhdHMuSW5mb3JtYXRpb24uY291bnQgPiAwKSB7XG5cdFx0XHRcdFx0bWVzc2FnZS5zZXRNZXNzYWdlKHJlc291cmNlQnVuZGxlLmdldFRleHQoXCJPQkpFQ1RQQUdFU1RBVEVfSVNTVUVcIikpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdG1lc3NhZ2Uuc2V0TWVzc2FnZShcblx0XHRcdFx0XHRcdHJlc291cmNlQnVuZGxlLmdldFRleHQoXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2UuZ2V0VHlwZSgpID09PSBNZXNzYWdlVHlwZS5FcnJvciA/IFwiT0JKRUNUUEFHRVNUQVRFX0VSUk9SXCIgOiBcIk9CSkVDVFBBR0VTVEFURV9XQVJOSU5HXCJcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBtZXNzYWdlO1xuXHR9XG5cblx0LyoqXG5cdCAqIERpc3BsYXlzIHRoZSBtZXNzYWdlIHN0cmlwIGJlbG93IHRoZSBhbmNob3IgYmFyLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93TWVzc2FnZXNcblx0ICogQHBhcmFtIHtzYXAudWkuY29yZS5tZXNzYWdlLk1lc3NhZ2V9IG1lc3NhZ2VzIFRoZSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXG5cdGFzeW5jIHNob3dNZXNzYWdlcyhtZXNzYWdlczogTWVzc2FnZVtdKSB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgaW50ZXJuYWxNb2RlbENvbnRleHQgPSB2aWV3LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIik7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCB0aGlzLl9idWlsZE9QTWVzc2FnZShtZXNzYWdlcyk7XG5cdFx0XHRpZiAobWVzc2FnZSkge1xuXHRcdFx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFZpc2liaWxpdHlcIiwgdHJ1ZSk7XG5cdFx0XHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVGV4dFwiLCBtZXNzYWdlLmdldE1lc3NhZ2UoKSk7XG5cdFx0XHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVHlwZVwiLCBtZXNzYWdlLmdldFR5cGUoKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLmhpZGVNZXNzYWdlKCk7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJDYW5ub3QgZGlzcGxheSBPYmplY3RQYWdlIG1lc3NhZ2VcIik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEhpZGVzIHRoZSBtZXNzYWdlIHN0cmlwIGJlbG93IHRoZSBhbmNob3IgYmFyLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNoaWRlTWVzc2FnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRoaWRlTWVzc2FnZSgpIHtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5fdmlldztcblx0XHRjb25zdCBpbnRlcm5hbE1vZGVsQ29udGV4dCA9IHZpZXcuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKTtcblx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFZpc2liaWxpdHlcIiwgZmFsc2UpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdFBhZ2VFeHRlbnNpb25BUEk7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7RUFrakJPLGdCQUFnQkEsSUFBaEIsRUFBc0JDLE9BQXRCLEVBQStCO0lB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
244
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJib2R5IiwicmVjb3ZlciIsInJlc3VsdCIsImUiLCJ0aGVuIiwiT2JqZWN0UGFnZUV4dGVuc2lvbkFQSSIsImRlZmluZVVJNUNsYXNzIiwicmVmcmVzaCIsInZQYXRoIiwib0JpbmRpbmdDb250ZXh0IiwiX3ZpZXciLCJnZXRCaW5kaW5nQ29udGV4dCIsIlByb21pc2UiLCJyZXNvbHZlIiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50Iiwib1NpZGVFZmZlY3RzU2VydmljZSIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsIm9NZXRhTW9kZWwiLCJnZXRNb2RlbCIsImdldE1ldGFNb2RlbCIsIm9TaWRlRWZmZWN0cyIsIlRhcmdldFByb3BlcnRpZXMiLCJUYXJnZXRFbnRpdGllcyIsImFQYXRocyIsInNQYXRoIiwic0Jhc2VFbnRpdHlTZXQiLCJzS2luZCIsInVuZGVmaW5lZCIsInB1c2giLCIkTmF2aWdhdGlvblByb3BlcnR5UGF0aCIsIkFycmF5IiwiaXNBcnJheSIsIl9jb250cm9sbGVyIiwiZ2V0T3duZXJDb21wb25lbnQiLCJnZXRFbnRpdHlTZXQiLCJpIiwibGVuZ3RoIiwiJFByb3BlcnR5UGF0aCIsImdldE9iamVjdCIsInJlamVjdCIsInJlcXVlc3RTaWRlRWZmZWN0cyIsImNvbmNhdCIsImdldFNlbGVjdGVkQ29udGV4dHMiLCJzVGFibGVJZCIsIm9UYWJsZSIsImJ5SWQiLCJpc0EiLCJnZXRDb250ZW50Iiwic2hvd1NpZGVDb250ZW50Iiwic1N1YlNlY3Rpb25LZXkiLCJiU2hvdyIsInNCbG9ja0lEIiwiZ2V0U2lkZUNvbnRlbnRMYXlvdXRJRCIsIm9CbG9jayIsImJCbG9ja1N0YXRlIiwiZ2V0U2hvd1NpZGVDb250ZW50Iiwic2V0U2hvd1NpZGVDb250ZW50IiwiX2J1aWxkT1BNZXNzYWdlIiwibWVzc2FnZXMiLCJ2aWV3IiwiZ2V0UmVzb3VyY2VCdW5kbGUiLCJyZXNvdXJjZUJ1bmRsZSIsIm1lc3NhZ2UiLCJtZXNzYWdlU3RhdHMiLCJpZCIsImNvdW50IiwicmVkdWNlIiwiYWNjIiwiY3VycmVudFZhbHVlIiwiY3VycmVudFR5cGUiLCJnZXRUeXBlIiwic2V0VHlwZSIsIk1lc3NhZ2UiLCJ0eXBlIiwiTWVzc2FnZVR5cGUiLCJJbmZvcm1hdGlvbiIsIkVycm9yIiwiV2FybmluZyIsInNldE1lc3NhZ2UiLCJnZXRUZXh0Iiwic2hvd01lc3NhZ2VzIiwiaW50ZXJuYWxNb2RlbENvbnRleHQiLCJzZXRQcm9wZXJ0eSIsImdldE1lc3NhZ2UiLCJoaWRlTWVzc2FnZSIsIkxvZyIsImVycm9yIiwiRXh0ZW5zaW9uQVBJIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJFeHRlbnNpb25BUEkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBnZXRTaWRlQ29udGVudExheW91dElEIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvaGVscGVycy9JRFwiO1xuaW1wb3J0IEV4dGVuc2lvbkFQSSBmcm9tIFwic2FwL2ZlL2NvcmUvRXh0ZW5zaW9uQVBJXCI7XG5pbXBvcnQgdHlwZSB7IEVuaGFuY2VXaXRoVUk1IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgVGFibGVBUEkgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGVBUElcIjtcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCBNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VcIjtcbmltcG9ydCB0eXBlIER5bmFtaWNTaWRlQ29udGVudCBmcm9tIFwic2FwL3VpL2xheW91dC9EeW5hbWljU2lkZUNvbnRlbnRcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL3Jlc291cmNlL1Jlc291cmNlTW9kZWxcIjtcblxuLyoqXG4gKiBFeHRlbnNpb24gQVBJIGZvciBvYmplY3QgcGFnZXMgb24gU0FQIEZpb3JpIGVsZW1lbnRzIGZvciBPRGF0YSBWNC5cbiAqXG4gKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSVxuICogQHB1YmxpY1xuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQGZpbmFsXG4gKiBAc2luY2UgMS43OS4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUElcIilcbmNsYXNzIE9iamVjdFBhZ2VFeHRlbnNpb25BUEkgZXh0ZW5kcyBFeHRlbnNpb25BUEkge1xuXHQvKipcblx0ICogUmVmcmVzaGVzIGVpdGhlciB0aGUgd2hvbGUgb2JqZWN0IHBhZ2Ugb3Igb25seSBwYXJ0cyBvZiBpdC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjcmVmcmVzaFxuXHQgKiBAcGFyYW0gW3ZQYXRoXSBQYXRoIG9yIGFycmF5IG9mIHBhdGhzIHJlZmVycmluZyB0byBlbnRpdGllcyBvciBwcm9wZXJ0aWVzIHRvIGJlIHJlZnJlc2hlZC5cblx0ICogSWYgb21pdHRlZCwgdGhlIHdob2xlIG9iamVjdCBwYWdlIGlzIHJlZnJlc2hlZC4gVGhlIHBhdGggXCJcIiByZWZyZXNoZXMgdGhlIGVudGl0eSBhc3NpZ25lZCB0byB0aGUgb2JqZWN0IHBhZ2Vcblx0ICogd2l0aG91dCBuYXZpZ2F0aW9uc1xuXHQgKiBAcmV0dXJucyBSZXNvbHZlZCBvbmNlIHRoZSBkYXRhIGlzIHJlZnJlc2hlZCBvciByZWplY3RlZCBpZiB0aGUgcmVxdWVzdCBmYWlsZWRcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cmVmcmVzaCh2UGF0aDogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcblx0XHRjb25zdCBvQmluZGluZ0NvbnRleHQgPSB0aGlzLl92aWV3LmdldEJpbmRpbmdDb250ZXh0KCkgYXMgQ29udGV4dDtcblx0XHRpZiAoIW9CaW5kaW5nQ29udGV4dCkge1xuXHRcdFx0Ly8gbm90aGluZyB0byBiZSByZWZyZXNoZWQgLSBkbyBub3QgYmxvY2sgdGhlIGFwcCFcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0XHR9XG5cdFx0Y29uc3Qgb0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLl92aWV3KSxcblx0XHRcdG9TaWRlRWZmZWN0c1NlcnZpY2UgPSBvQXBwQ29tcG9uZW50LmdldFNpZGVFZmZlY3RzU2VydmljZSgpLFxuXHRcdFx0b01ldGFNb2RlbCA9IG9CaW5kaW5nQ29udGV4dC5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsLFxuXHRcdFx0b1NpZGVFZmZlY3RzOiBhbnkgPSB7XG5cdFx0XHRcdFRhcmdldFByb3BlcnRpZXM6IFtdLFxuXHRcdFx0XHRUYXJnZXRFbnRpdGllczogW11cblx0XHRcdH07XG5cdFx0bGV0IGFQYXRocywgc1BhdGgsIHNCYXNlRW50aXR5U2V0LCBzS2luZDtcblxuXHRcdGlmICh2UGF0aCA9PT0gdW5kZWZpbmVkIHx8IHZQYXRoID09PSBudWxsKSB7XG5cdFx0XHQvLyB3ZSBqdXN0IGFkZCBhbiBlbXB0eSBwYXRoIHdoaWNoIHNob3VsZCByZWZyZXNoIHRoZSBwYWdlIHdpdGggYWxsIGRlcGVuZGVudCBiaW5kaW5nc1xuXHRcdFx0b1NpZGVFZmZlY3RzLlRhcmdldEVudGl0aWVzLnB1c2goe1xuXHRcdFx0XHQkTmF2aWdhdGlvblByb3BlcnR5UGF0aDogXCJcIlxuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGFQYXRocyA9IEFycmF5LmlzQXJyYXkodlBhdGgpID8gdlBhdGggOiBbdlBhdGhdO1xuXHRcdFx0c0Jhc2VFbnRpdHlTZXQgPSAodGhpcy5fY29udHJvbGxlci5nZXRPd25lckNvbXBvbmVudCgpIGFzIGFueSkuZ2V0RW50aXR5U2V0KCk7XG5cblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYVBhdGhzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdHNQYXRoID0gYVBhdGhzW2ldO1xuXHRcdFx0XHRpZiAoc1BhdGggPT09IFwiXCIpIHtcblx0XHRcdFx0XHQvLyBhbiBlbXB0eSBwYXRoIHNoYWxsIHJlZnJlc2ggdGhlIGVudGl0eSB3aXRob3V0IGRlcGVuZGVuY2llcyB3aGljaCBtZWFucyAqIGZvciB0aGUgbW9kZWxcblx0XHRcdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0UHJvcGVydGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdCRQcm9wZXJ0eVBhdGg6IFwiKlwiXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0c0tpbmQgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgLyR7c0Jhc2VFbnRpdHlTZXR9LyR7c1BhdGh9LyRraW5kYCk7XG5cblx0XHRcdFx0XHRpZiAoc0tpbmQgPT09IFwiTmF2aWdhdGlvblByb3BlcnR5XCIpIHtcblx0XHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRFbnRpdGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdFx0JE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHNQYXRoXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHNLaW5kKSB7XG5cdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0UHJvcGVydGllcy5wdXNoKHtcblx0XHRcdFx0XHRcdFx0JFByb3BlcnR5UGF0aDogc1BhdGhcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoYCR7c1BhdGh9IGlzIG5vdCBhIHZhbGlkIHBhdGggdG8gYmUgcmVmcmVzaGVkYCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBvU2lkZUVmZmVjdHNTZXJ2aWNlLnJlcXVlc3RTaWRlRWZmZWN0cyhvU2lkZUVmZmVjdHMuVGFyZ2V0RW50aXRpZXMuY29uY2F0KG9TaWRlRWZmZWN0cy5UYXJnZXRQcm9wZXJ0aWVzKSwgb0JpbmRpbmdDb250ZXh0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsaXN0IGVudHJpZXMgY3VycmVudGx5IHNlbGVjdGVkIGZvciB0aGUgdGFibGUuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI2dldFNlbGVjdGVkQ29udGV4dHNcblx0ICogQHBhcmFtIHNUYWJsZUlkIFRoZSBJRCBpZGVudGlmeWluZyB0aGUgdGFibGUgdGhlIHNlbGVjdGVkIGNvbnRleHQgaXMgcmVxdWVzdGVkIGZvclxuXHQgKiBAcmV0dXJucyBBcnJheSBjb250YWluaW5nIHRoZSBzZWxlY3RlZCBjb250ZXh0c1xuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRTZWxlY3RlZENvbnRleHRzKHNUYWJsZUlkOiBzdHJpbmcpIHtcblx0XHRsZXQgb1RhYmxlID0gdGhpcy5fdmlldy5ieUlkKHNUYWJsZUlkKTtcblx0XHRpZiAob1RhYmxlICYmIG9UYWJsZS5pc0EoXCJzYXAuZmUubWFjcm9zLnRhYmxlLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRvVGFibGUgPSAob1RhYmxlIGFzIEVuaGFuY2VXaXRoVUk1PFRhYmxlQVBJPikuZ2V0Q29udGVudCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKG9UYWJsZSAmJiBvVGFibGUuaXNBKFwic2FwLnVpLm1kYy5UYWJsZVwiKSAmJiAob1RhYmxlIGFzIGFueSkuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyBvciBoaWRlcyB0aGUgc2lkZSBjb250ZW50IG9mIGFuIG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93U2lkZUNvbnRlbnRcblx0ICogQHBhcmFtIHNTdWJTZWN0aW9uS2V5IEtleSBvZiB0aGUgc2lkZSBjb250ZW50IGZyYWdtZW50IGFzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0Lmpzb25cblx0ICogQHBhcmFtIFtiU2hvd10gT3B0aW9uYWwgQm9vbGVhbiBmbGFnIHRvIHNob3cgb3IgaGlkZSB0aGUgc2lkZSBjb250ZW50XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHNob3dTaWRlQ29udGVudChzU3ViU2VjdGlvbktleTogc3RyaW5nLCBiU2hvdzogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IHNCbG9ja0lEID0gZ2V0U2lkZUNvbnRlbnRMYXlvdXRJRChzU3ViU2VjdGlvbktleSksXG5cdFx0XHRvQmxvY2sgPSB0aGlzLl92aWV3LmJ5SWQoc0Jsb2NrSUQpLFxuXHRcdFx0YkJsb2NrU3RhdGUgPSBiU2hvdyA9PT0gdW5kZWZpbmVkID8gIShvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5nZXRTaG93U2lkZUNvbnRlbnQoKSA6IGJTaG93O1xuXHRcdChvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5zZXRTaG93U2lkZUNvbnRlbnQoYkJsb2NrU3RhdGUsIGZhbHNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBib3VuZCBjb250ZXh0IG9mIHRoZSBjdXJyZW50IG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNnZXRCaW5kaW5nQ29udGV4dFxuXHQgKiBAcmV0dXJucyBDb250ZXh0IGJvdW5kIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRCaW5kaW5nQ29udGV4dCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkIGEgbWVzc2FnZSB0byBiZSBkaXNwbGF5ZWQgYmVsb3cgdGhlIGFuY2hvciBiYXIuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI19idWlsZE9QTWVzc2FnZVxuXHQgKiBAcGFyYW0ge3NhcC51aS5jb3JlLm1lc3NhZ2UuTWVzc2FnZVtdfSBtZXNzYWdlcyBBcnJheSBvZiBtZXNzYWdlcyB1c2VkIHRvIGdlbmVyYXRlZCB0aGUgbWVzc2FnZVxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZTxNZXNzYWdlPn0gUHJvbWlzZSBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgbWVzc2FnZVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0YXN5bmMgX2J1aWxkT1BNZXNzYWdlKG1lc3NhZ2VzOiBNZXNzYWdlW10pOiBQcm9taXNlPE1lc3NhZ2UgfCBudWxsPiB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgcmVzb3VyY2VCdW5kbGUgPSBhd2FpdCAodmlldy5nZXRNb2RlbChcInNhcC5mZS5pMThuXCIpIGFzIFJlc291cmNlTW9kZWwpLmdldFJlc291cmNlQnVuZGxlKCk7XG5cdFx0bGV0IG1lc3NhZ2U6IE1lc3NhZ2UgfCBudWxsID0gbnVsbDtcblx0XHRzd2l0Y2ggKG1lc3NhZ2VzLmxlbmd0aCkge1xuXHRcdFx0Y2FzZSAwOlxuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgMTpcblx0XHRcdFx0bWVzc2FnZSA9IG1lc3NhZ2VzWzBdO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGNvbnN0IG1lc3NhZ2VTdGF0czogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHtcblx0XHRcdFx0XHRcIkVycm9yXCI6IHsgaWQ6IDIsIGNvdW50OiAwIH0sXG5cdFx0XHRcdFx0XCJXYXJuaW5nXCI6IHsgaWQ6IDEsIGNvdW50OiAwIH0sXG5cdFx0XHRcdFx0XCJJbmZvcm1hdGlvblwiOiB7IGlkOiAwLCBjb3VudDogMCB9XG5cdFx0XHRcdH07XG5cdFx0XHRcdG1lc3NhZ2UgPSBtZXNzYWdlcy5yZWR1Y2UoKGFjYywgY3VycmVudFZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgY3VycmVudFR5cGUgPSBjdXJyZW50VmFsdWUuZ2V0VHlwZSgpO1xuXHRcdFx0XHRcdGFjYy5zZXRUeXBlKG1lc3NhZ2VTdGF0c1tjdXJyZW50VHlwZV0uaWQgPiBtZXNzYWdlU3RhdHNbYWNjLmdldFR5cGUoKV0uaWQgPyBjdXJyZW50VHlwZSA6IGFjYy5nZXRUeXBlKCkpO1xuXHRcdFx0XHRcdG1lc3NhZ2VTdGF0c1tjdXJyZW50VHlwZV0uY291bnQrKztcblx0XHRcdFx0XHRyZXR1cm4gYWNjO1xuXHRcdFx0XHR9LCBuZXcgTWVzc2FnZSh7IHR5cGU6IE1lc3NhZ2VUeXBlLkluZm9ybWF0aW9uIH0pKTtcblxuXHRcdFx0XHRpZiAobWVzc2FnZVN0YXRzLkVycm9yLmNvdW50ID09PSAwICYmIG1lc3NhZ2VTdGF0cy5XYXJuaW5nLmNvdW50ID09PSAwICYmIG1lc3NhZ2VTdGF0cy5JbmZvcm1hdGlvbi5jb3VudCA+IDApIHtcblx0XHRcdFx0XHRtZXNzYWdlLnNldE1lc3NhZ2UocmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk9CSkVDVFBBR0VTVEFURV9JTkZPUk1BVElPTlwiKSk7XG5cdFx0XHRcdH0gZWxzZSBpZiAoKG1lc3NhZ2VTdGF0cy5FcnJvci5jb3VudCA+IDAgJiYgbWVzc2FnZVN0YXRzLldhcm5pbmcuY291bnQgPiAwKSB8fCBtZXNzYWdlU3RhdHMuSW5mb3JtYXRpb24uY291bnQgPiAwKSB7XG5cdFx0XHRcdFx0bWVzc2FnZS5zZXRNZXNzYWdlKHJlc291cmNlQnVuZGxlLmdldFRleHQoXCJPQkpFQ1RQQUdFU1RBVEVfSVNTVUVcIikpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdG1lc3NhZ2Uuc2V0TWVzc2FnZShcblx0XHRcdFx0XHRcdHJlc291cmNlQnVuZGxlLmdldFRleHQoXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2UuZ2V0VHlwZSgpID09PSBNZXNzYWdlVHlwZS5FcnJvciA/IFwiT0JKRUNUUEFHRVNUQVRFX0VSUk9SXCIgOiBcIk9CSkVDVFBBR0VTVEFURV9XQVJOSU5HXCJcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBtZXNzYWdlO1xuXHR9XG5cblx0LyoqXG5cdCAqIERpc3BsYXlzIHRoZSBtZXNzYWdlIHN0cmlwIGJlbG93IHRoZSBhbmNob3IgYmFyLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93TWVzc2FnZXNcblx0ICogQHBhcmFtIHtzYXAudWkuY29yZS5tZXNzYWdlLk1lc3NhZ2V9IG1lc3NhZ2VzIFRoZSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXG5cdGFzeW5jIHNob3dNZXNzYWdlcyhtZXNzYWdlczogTWVzc2FnZVtdKSB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgaW50ZXJuYWxNb2RlbENvbnRleHQgPSB2aWV3LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIik7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCB0aGlzLl9idWlsZE9QTWVzc2FnZShtZXNzYWdlcyk7XG5cdFx0XHRpZiAobWVzc2FnZSkge1xuXHRcdFx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFZpc2liaWxpdHlcIiwgdHJ1ZSk7XG5cdFx0XHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVGV4dFwiLCBtZXNzYWdlLmdldE1lc3NhZ2UoKSk7XG5cdFx0XHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVHlwZVwiLCBtZXNzYWdlLmdldFR5cGUoKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLmhpZGVNZXNzYWdlKCk7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJDYW5ub3QgZGlzcGxheSBPYmplY3RQYWdlIG1lc3NhZ2VcIik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEhpZGVzIHRoZSBtZXNzYWdlIHN0cmlwIGJlbG93IHRoZSBhbmNob3IgYmFyLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNoaWRlTWVzc2FnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRoaWRlTWVzc2FnZSgpIHtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5fdmlldztcblx0XHRjb25zdCBpbnRlcm5hbE1vZGVsQ29udGV4dCA9IHZpZXcuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKTtcblx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFZpc2liaWxpdHlcIiwgZmFsc2UpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdFBhZ2VFeHRlbnNpb25BUEk7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7O0VBa2pCTyxnQkFBZ0JBLElBQUksRUFBRUMsT0FBTyxFQUFFO0lBQ3JDLElB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