@sapui5/sap.fe.macros 1.140.0 → 1.141.1

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 (199) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/Chart.js +53 -2
  4. package/src/sap/fe/macros/Chart.tsx +55 -0
  5. package/src/sap/fe/macros/CollaborativeDraftHandler.js +230 -0
  6. package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +218 -0
  7. package/src/sap/fe/macros/CommonHelper.js +59 -15
  8. package/src/sap/fe/macros/CommonHelper.ts +65 -14
  9. package/src/sap/fe/macros/ConditionalSwitch.js +174 -0
  10. package/src/sap/fe/macros/ConditionalSwitch.tsx +141 -0
  11. package/src/sap/fe/macros/ConditionalSwitchProperty.js +78 -0
  12. package/src/sap/fe/macros/ConditionalSwitchProperty.tsx +62 -0
  13. package/src/sap/fe/macros/Field.js +14 -10
  14. package/src/sap/fe/macros/Field.ts +15 -12
  15. package/src/sap/fe/macros/MacroAPI.js +9 -4
  16. package/src/sap/fe/macros/MacroAPI.ts +9 -4
  17. package/src/sap/fe/macros/MultiValueField.js +10 -5
  18. package/src/sap/fe/macros/MultiValueField.tsx +7 -1
  19. package/src/sap/fe/macros/Page.js +5 -7
  20. package/src/sap/fe/macros/Page.tsx +4 -6
  21. package/src/sap/fe/macros/Paginator.js +9 -4
  22. package/src/sap/fe/macros/Paginator.tsx +12 -3
  23. package/src/sap/fe/macros/RichTextEditor.js +3 -2
  24. package/src/sap/fe/macros/RichTextEditor.tsx +2 -1
  25. package/src/sap/fe/macros/Status.js +38 -13
  26. package/src/sap/fe/macros/Status.tsx +26 -6
  27. package/src/sap/fe/macros/ai/EasyFillDialog.js +11 -17
  28. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +11 -16
  29. package/src/sap/fe/macros/ai/EasyFilterBar.js +195 -55
  30. package/src/sap/fe/macros/ai/EasyFilterBar.tsx +234 -57
  31. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +76 -33
  32. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +89 -40
  33. package/src/sap/fe/macros/chart/Chart.js +2 -2
  34. package/src/sap/fe/macros/chart/Chart.tsx +1 -1
  35. package/src/sap/fe/macros/chart/MdcChartTemplate.js +4 -2
  36. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +4 -1
  37. package/src/sap/fe/macros/contentSwitcher/ContentSwitcher.js +9 -2
  38. package/src/sap/fe/macros/contentSwitcher/ContentSwitcher.tsx +8 -0
  39. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +5 -1
  40. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +4 -0
  41. package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.js +2 -2
  42. package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.ts +1 -1
  43. package/src/sap/fe/macros/controls/FilterBar.js +14 -5
  44. package/src/sap/fe/macros/controls/FilterBar.ts +3 -0
  45. package/src/sap/fe/macros/controls/RadioButtons.js +61 -38
  46. package/src/sap/fe/macros/controls/RadioButtons.tsx +39 -18
  47. package/src/sap/fe/macros/controls/Section.js +4 -3
  48. package/src/sap/fe/macros/controls/Section.ts +3 -2
  49. package/src/sap/fe/macros/controls/section/SubSection.js +63 -8
  50. package/src/sap/fe/macros/controls/section/SubSection.ts +67 -1
  51. package/src/sap/fe/macros/field/Field.js +2 -2
  52. package/src/sap/fe/macros/field/Field.tsx +1 -1
  53. package/src/sap/fe/macros/field/FieldFormatOptions.js +25 -2
  54. package/src/sap/fe/macros/field/FieldFormatOptions.ts +13 -0
  55. package/src/sap/fe/macros/field/FieldHelper.js +2 -2
  56. package/src/sap/fe/macros/field/FieldHelper.ts +1 -4
  57. package/src/sap/fe/macros/field/FieldTemplating.js +3 -3
  58. package/src/sap/fe/macros/field/FieldTemplating.ts +4 -2
  59. package/src/sap/fe/macros/filter/FilterUtils.js +232 -2
  60. package/src/sap/fe/macros/filter/FilterUtils.ts +290 -4
  61. package/src/sap/fe/macros/filterBar/FilterBar.block.js +5 -3
  62. package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +4 -2
  63. package/src/sap/fe/macros/filterBar/FilterBar.js +2 -2
  64. package/src/sap/fe/macros/filterBar/FilterBar.tsx +1 -1
  65. package/src/sap/fe/macros/filterBar/FilterBarAPI.js +63 -27
  66. package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +49 -3
  67. package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +5 -3
  68. package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +5 -2
  69. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +7 -2
  70. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +6 -1
  71. package/src/sap/fe/macros/form/Form.block.js +7 -8
  72. package/src/sap/fe/macros/form/Form.block.ts +4 -6
  73. package/src/sap/fe/macros/form/FormContainer.block.js +555 -4
  74. package/src/sap/fe/macros/form/FormContainer.block.ts +665 -6
  75. package/src/sap/fe/macros/form/FormContainer.fragment.xml +1 -0
  76. package/src/sap/fe/macros/form/FormDelegate.js +6 -9
  77. package/src/sap/fe/macros/form/FormDelegate.ts +5 -8
  78. package/src/sap/fe/macros/internal/DataPoint.js +3 -2
  79. package/src/sap/fe/macros/internal/DataPoint.tsx +10 -1
  80. package/src/sap/fe/macros/internal/FilterField.block.js +16 -8
  81. package/src/sap/fe/macros/internal/FilterField.block.ts +11 -7
  82. package/src/sap/fe/macros/internal/field/DisplayStyle.js +7 -1
  83. package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +8 -0
  84. package/src/sap/fe/macros/internal/field/EditStyle.js +21 -4
  85. package/src/sap/fe/macros/internal/field/EditStyle.tsx +18 -4
  86. package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +3 -2
  87. package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +4 -1
  88. package/src/sap/fe/macros/internal/filterField/FilterFieldTemplate.fragment.xml +1 -0
  89. package/src/sap/fe/macros/internal/helpers/ActionHelper.js +36 -5
  90. package/src/sap/fe/macros/internal/helpers/ActionHelper.ts +34 -4
  91. package/src/sap/fe/macros/library.js +1 -1
  92. package/src/sap/fe/macros/mdc/adapter/StateFilterToSelectionVariant.js +2 -1
  93. package/src/sap/fe/macros/mdc/adapter/StateFilterToSelectionVariant.ts +1 -0
  94. package/src/sap/fe/macros/messagebundle.properties +20 -2
  95. package/src/sap/fe/macros/messagebundle_ar.properties +1 -1
  96. package/src/sap/fe/macros/messagebundle_bg.properties +1 -1
  97. package/src/sap/fe/macros/messagebundle_ca.properties +1 -1
  98. package/src/sap/fe/macros/messagebundle_cnr.properties +1 -1
  99. package/src/sap/fe/macros/messagebundle_cs.properties +1 -1
  100. package/src/sap/fe/macros/messagebundle_cy.properties +1 -1
  101. package/src/sap/fe/macros/messagebundle_da.properties +1 -1
  102. package/src/sap/fe/macros/messagebundle_de.properties +4 -4
  103. package/src/sap/fe/macros/messagebundle_el.properties +1 -1
  104. package/src/sap/fe/macros/messagebundle_en.properties +1 -1
  105. package/src/sap/fe/macros/messagebundle_en_GB.properties +1 -1
  106. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +1 -1
  107. package/src/sap/fe/macros/messagebundle_es.properties +2 -2
  108. package/src/sap/fe/macros/messagebundle_es_MX.properties +1 -1
  109. package/src/sap/fe/macros/messagebundle_et.properties +1 -1
  110. package/src/sap/fe/macros/messagebundle_fi.properties +1 -1
  111. package/src/sap/fe/macros/messagebundle_fr.properties +1 -1
  112. package/src/sap/fe/macros/messagebundle_fr_CA.properties +1 -1
  113. package/src/sap/fe/macros/messagebundle_hi.properties +1 -1
  114. package/src/sap/fe/macros/messagebundle_hr.properties +1 -1
  115. package/src/sap/fe/macros/messagebundle_hu.properties +1 -1
  116. package/src/sap/fe/macros/messagebundle_id.properties +5 -5
  117. package/src/sap/fe/macros/messagebundle_it.properties +1 -1
  118. package/src/sap/fe/macros/messagebundle_iw.properties +1 -1
  119. package/src/sap/fe/macros/messagebundle_ja.properties +5 -5
  120. package/src/sap/fe/macros/messagebundle_kk.properties +1 -1
  121. package/src/sap/fe/macros/messagebundle_ko.properties +2 -2
  122. package/src/sap/fe/macros/messagebundle_lt.properties +2 -2
  123. package/src/sap/fe/macros/messagebundle_lv.properties +1 -1
  124. package/src/sap/fe/macros/messagebundle_mk.properties +2 -2
  125. package/src/sap/fe/macros/messagebundle_ms.properties +1 -1
  126. package/src/sap/fe/macros/messagebundle_nl.properties +1 -1
  127. package/src/sap/fe/macros/messagebundle_no.properties +1 -1
  128. package/src/sap/fe/macros/messagebundle_pl.properties +1 -1
  129. package/src/sap/fe/macros/messagebundle_pt.properties +1 -1
  130. package/src/sap/fe/macros/messagebundle_pt_PT.properties +1 -1
  131. package/src/sap/fe/macros/messagebundle_ro.properties +1 -1
  132. package/src/sap/fe/macros/messagebundle_ru.properties +1 -1
  133. package/src/sap/fe/macros/messagebundle_sh.properties +1 -1
  134. package/src/sap/fe/macros/messagebundle_sk.properties +1 -1
  135. package/src/sap/fe/macros/messagebundle_sl.properties +1 -1
  136. package/src/sap/fe/macros/messagebundle_sr.properties +1 -1
  137. package/src/sap/fe/macros/messagebundle_sv.properties +1 -1
  138. package/src/sap/fe/macros/messagebundle_th.properties +1 -1
  139. package/src/sap/fe/macros/messagebundle_tr.properties +1 -1
  140. package/src/sap/fe/macros/messagebundle_uk.properties +1 -1
  141. package/src/sap/fe/macros/messagebundle_vi.properties +2 -2
  142. package/src/sap/fe/macros/messagebundle_zh_CN.properties +1 -1
  143. package/src/sap/fe/macros/messagebundle_zh_TW.properties +1 -1
  144. package/src/sap/fe/macros/messages/MessageButton.js +1 -1
  145. package/src/sap/fe/macros/messages/MessageButton.ts +2 -2
  146. package/src/sap/fe/macros/messages/MessagePopover.js +3 -1
  147. package/src/sap/fe/macros/messages/MessagePopover.ts +2 -0
  148. package/src/sap/fe/macros/microchart/MicroChart.js +2 -2
  149. package/src/sap/fe/macros/microchart/MicroChart.tsx +1 -1
  150. package/src/sap/fe/macros/microchart/MicroChartHelper.js +2 -2
  151. package/src/sap/fe/macros/microchart/MicroChartHelper.tsx +1 -1
  152. package/src/sap/fe/macros/table/ActionsTemplating.js +4 -8
  153. package/src/sap/fe/macros/table/ActionsTemplating.tsx +5 -8
  154. package/src/sap/fe/macros/table/BasicSearch.js +1 -1
  155. package/src/sap/fe/macros/table/BasicSearch.ts +2 -1
  156. package/src/sap/fe/macros/table/Column.js +14 -2
  157. package/src/sap/fe/macros/table/Column.ts +7 -0
  158. package/src/sap/fe/macros/table/ColumnExportSettings.js +83 -15
  159. package/src/sap/fe/macros/table/ColumnExportSettings.ts +44 -0
  160. package/src/sap/fe/macros/table/ColumnOverride.js +14 -2
  161. package/src/sap/fe/macros/table/ColumnOverride.ts +7 -0
  162. package/src/sap/fe/macros/table/MdcTableTemplate.js +5 -5
  163. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +15 -9
  164. package/src/sap/fe/macros/table/QuickFilterSelector.js +12 -3
  165. package/src/sap/fe/macros/table/QuickFilterSelector.tsx +15 -2
  166. package/src/sap/fe/macros/table/Table.block.js +188 -147
  167. package/src/sap/fe/macros/table/Table.block.tsx +41 -11
  168. package/src/sap/fe/macros/table/Table.js +16 -10
  169. package/src/sap/fe/macros/table/Table.tsx +16 -10
  170. package/src/sap/fe/macros/table/TableAPI.js +224 -184
  171. package/src/sap/fe/macros/table/TableAPI.ts +63 -19
  172. package/src/sap/fe/macros/table/TableEventHandlerProvider.js +6 -6
  173. package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +5 -4
  174. package/src/sap/fe/macros/table/TableHelper.js +2 -2
  175. package/src/sap/fe/macros/table/TableHelper.ts +1 -1
  176. package/src/sap/fe/macros/table/TreeTable.js +16 -10
  177. package/src/sap/fe/macros/table/TreeTable.tsx +16 -10
  178. package/src/sap/fe/macros/table/Utils.js +3 -2
  179. package/src/sap/fe/macros/table/Utils.ts +7 -2
  180. package/src/sap/fe/macros/table/delegates/TableDelegate.js +69 -33
  181. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +75 -32
  182. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +10 -10
  183. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +11 -9
  184. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +14 -12
  185. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +11 -10
  186. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +34 -4
  187. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +45 -2
  188. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +55 -12
  189. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +71 -9
  190. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +53 -2
  191. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +55 -0
  192. package/src/sap/fe/macros/table/mixin/TableExport.js +22 -3
  193. package/src/sap/fe/macros/table/mixin/TableExport.ts +25 -4
  194. package/src/sap/fe/macros/table/mixin/TableSharing.js +3 -2
  195. package/src/sap/fe/macros/table/mixin/TableSharing.ts +4 -3
  196. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +27 -10
  197. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +31 -13
  198. package/src/sap/fe/macros/visualfilters/VisualFilter.js +5 -3
  199. package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +3 -1
@@ -1057,7 +1057,10 @@ function getStandardActions(
1057
1057
 
1058
1058
  function getActions(chartBlock: ChartBlock): ToolbarAction[] {
1059
1059
  const actions = removeMenuItems(chartBlock.chartActions ?? []);
1060
- return actions.map((action: BaseAction) => {
1060
+ // Apply primary action overflow protection before processing
1061
+ const actionsWithOverflowProtection = ActionHelper.ensurePrimaryActionNeverOverflows(actions);
1062
+
1063
+ return actionsWithOverflowProtection.map((action: BaseAction) => {
1061
1064
  if (action.annotationPath || (action.type === "Menu" && !action.id?.startsWith("CustomAction"))) {
1062
1065
  // Load annotation based actions
1063
1066
  return getAction(action, chartBlock._chartContext, false, chartBlock);
@@ -2,11 +2,12 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/m/SegmentedButton", "sap/m/SegmentedButtonItem", "sap/ui/core/Element", "sap/fe/base/jsx-runtime/jsx"], function (BindingToolkit, ClassSupport, BuildingBlock, SegmentedButton, SegmentedButtonItem, UI5Element, _jsx) {
5
+ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe/controls/easyFilter/PXFeedback", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/m/SegmentedButton", "sap/m/SegmentedButtonItem", "sap/ui/core/Element", "sap/fe/base/jsx-runtime/jsx"], function (BindingToolkit, ClassSupport, PXFeedback, BuildingBlock, SegmentedButton, SegmentedButtonItem, UI5Element, _jsx) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;
9
9
  var _exports = {};
10
+ var triggerPXIntegration = PXFeedback.triggerPXIntegration;
10
11
  var property = ClassSupport.property;
11
12
  var implementInterface = ClassSupport.implementInterface;
12
13
  var event = ClassSupport.event;
@@ -39,7 +40,9 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
39
40
  _initializerDefineProperty(_this, "selectionChange", _descriptor3, _this);
40
41
  _initializerDefineProperty(_this, "$segmentedButton", _descriptor4, _this);
41
42
  _initializerDefineProperty(_this, "selectedKey", _descriptor5, _this);
43
+ _this.currentKey = "";
42
44
  _this.content = _this.createContent();
45
+ _this.currentKey = _this.retrieveState().selectedKey;
43
46
  if (_this.state.selectedKey) {
44
47
  // if there is already a selected key let's make sure to apply it
45
48
  _this.onStateChange(["selectedKey"]);
@@ -103,6 +106,10 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
103
106
  if (changedKeys?.includes("selectedKey")) {
104
107
  this.showHideControls(this.state.selectedKey);
105
108
  this.getPageController()?.getExtensionAPI().updateAppState();
109
+ if (this.currentKey === "ai" && this.state.selectedKey === "compact") {
110
+ triggerPXIntegration("toggleSwitch");
111
+ }
112
+ this.currentKey = this.state.selectedKey;
106
113
  this.fireEvent("selectionChange");
107
114
  }
108
115
  }
@@ -176,4 +183,4 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
176
183
  _exports = ContentSwitcher;
177
184
  return _exports;
178
185
  }, false);
179
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250ZW50U3dpdGNoZXIiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImltcGxlbWVudEludGVyZmFjZSIsIl9kZWMzIiwiYWdncmVnYXRpb24iLCJ0eXBlIiwibXVsdGlwbGUiLCJpc0RlZmF1bHQiLCJfZGVjNCIsImV2ZW50IiwiX2RlYzUiLCJkZWZpbmVSZWZlcmVuY2UiLCJfZGVjNiIsInByb3BlcnR5IiwiYmluZFRvU3RhdGUiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX3JlZiIsInByb3BlcnRpZXNPcklkIiwicHJvcGVydGllcyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJjb250ZW50IiwiY3JlYXRlQ29udGVudCIsInN0YXRlIiwic2VsZWN0ZWRLZXkiLCJvblN0YXRlQ2hhbmdlIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsInJldHJpZXZlU3RhdGUiLCIkc2VnbWVudGVkQnV0dG9uIiwiY3VycmVudCIsImdldFNlbGVjdGVkS2V5IiwiYXBwbHlTdGF0ZSIsImFwcFN0YXRlIiwiaXRlbXMiLCJrZXkiLCJfZ2V0Q29udHJvbEZyb21JdGVtIiwiaXRlbSIsImNvbnRyb2xUb1N3aXRjaCIsImNvbnRyb2wiLCJVSTVFbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJpc0EiLCJzaG93SGlkZUNvbnRyb2xzIiwiY29udHJvbHNUb0hpZGUiLCJjb250cm9sc1RvRGlzcGxheSIsInB1c2giLCJpbmNsdWRlcyIsInNldFZpc2libGUiLCJjaGFuZ2VkS2V5cyIsImdldFBhZ2VDb250cm9sbGVyIiwiZ2V0RXh0ZW5zaW9uQVBJIiwidXBkYXRlQXBwU3RhdGUiLCJmaXJlRXZlbnQiLCJzZWdtZW50ZWRCdXR0b25JZCIsImNyZWF0ZUlkIiwiX2pzeCIsIlNlZ21lbnRlZEJ1dHRvbiIsInJlZiIsImlkIiwiYmluZFN0YXRlIiwiY2hpbGRyZW4iLCJtYXAiLCJpbmRleCIsImNyZWF0ZVNlZ21lbnRlZEJ1dHRvbkl0ZW0iLCJpdGVtSWR4Iiwic2VnbWVudEJ1dHRvbkl0ZW1JZCIsImljb24iLCJTZWdtZW50ZWRCdXR0b25JdGVtIiwidG9vbHRpcCIsInRleHQiLCJCdWlsZGluZ0Jsb2NrIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDb250ZW50U3dpdGNoZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJpbmRTdGF0ZSB9IGZyb20gXCJzYXAvZmUvYmFzZS9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBhZ2dyZWdhdGlvbiwgZGVmaW5lUmVmZXJlbmNlLCBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIGltcGxlbWVudEludGVyZmFjZSwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IFJlZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9qc3gtcnVudGltZS9qc3hcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgdHlwZSBJVmlld1N0YXRlQ29udHJpYnV0b3IgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL3ZpZXdTdGF0ZS9JVmlld1N0YXRlQ29udHJpYnV0b3JcIjtcbmltcG9ydCB0eXBlIENvbnRlbnRTd2l0Y2hlckl0ZW0gZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udGVudFN3aXRjaGVyL0NvbnRlbnRTd2l0Y2hlckl0ZW1cIjtcbmltcG9ydCBTZWdtZW50ZWRCdXR0b24gZnJvbSBcInNhcC9tL1NlZ21lbnRlZEJ1dHRvblwiO1xuaW1wb3J0IFNlZ21lbnRlZEJ1dHRvbkl0ZW0gZnJvbSBcInNhcC9tL1NlZ21lbnRlZEJ1dHRvbkl0ZW1cIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgdHlwZSB7IEV2ZW50SGFuZGxlciB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi90eXBlcy9leHRlbnNpb25fdHlwZXNcIjtcblxudHlwZSBDb250ZW50U3dpdGNoZXJTdGF0ZSA9IHtcblx0c2VsZWN0ZWRLZXk/OiBzdHJpbmc7XG59O1xuLyoqXG4gKiBEZWZpbmVzIGEgbmV3IGJ1aWxkaW5nIGJsb2NrIHdoaWNoIGNhbiBiZSB1c2VkIHRvIHRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY29udGVudCByZWZlcmVuY2VkIGJ5IHRoZSBpdGVtLlxuICogRWFjaCBpdGVtIHdpbGwgYmUgZGlzcGxheWVkIGluIGEgc2VnbWVudGVkIGJ1dHRvbiB3aXRoIHRoZVxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmNvbnRlbnRTd2l0Y2hlci5Db250ZW50U3dpdGNoZXJcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRlbnRTd2l0Y2hlclxuXHRleHRlbmRzIEJ1aWxkaW5nQmxvY2s8XG5cdFx0U2VnbWVudGVkQnV0dG9uLFxuXHRcdHtcblx0XHRcdHNlbGVjdGVkS2V5OiBzdHJpbmc7XG5cdFx0fVxuXHQ+XG5cdGltcGxlbWVudHMgSVZpZXdTdGF0ZUNvbnRyaWJ1dG9yPENvbnRlbnRTd2l0Y2hlclN0YXRlPlxue1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMudmlld1N0YXRlLklWaWV3U3RhdGVDb250cmlidXRvclwiKVxuXHRfX2ltcGxlbWVudHNfX3NhcF9mZV9jb3JlX2NvbnRyb2xsZXJleHRlbnNpb25zX3ZpZXdTdGF0ZV9JVmlld1N0YXRlQ29udHJpYnV0b3IgPSB0cnVlO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLmZlLm1hY3Jvcy5jb250ZW50U3dpdGNoZXIuQ29udGVudFN3aXRjaGVySXRlbVwiLCBtdWx0aXBsZTogdHJ1ZSwgaXNEZWZhdWx0OiB0cnVlIH0pXG5cdGl0ZW1zITogQ29udGVudFN3aXRjaGVySXRlbVtdO1xuXG5cdEBldmVudCgpXG5cdHNlbGVjdGlvbkNoYW5nZT86IEV2ZW50SGFuZGxlcjtcblxuXHRAZGVmaW5lUmVmZXJlbmNlKClcblx0JHNlZ21lbnRlZEJ1dHRvbiE6IFJlZjxTZWdtZW50ZWRCdXR0b24+O1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGJpbmRUb1N0YXRlOiB0cnVlIH0pXG5cdHNlbGVjdGVkS2V5Pzogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BlcnRpZXNPcklkOiBzdHJpbmcgfCBQcm9wZXJ0aWVzT2Y8Q29udGVudFN3aXRjaGVyPiwgcHJvcGVydGllcz86IFByb3BlcnRpZXNPZjxDb250ZW50U3dpdGNoZXI+KSB7XG5cdFx0c3VwZXIocHJvcGVydGllc09ySWQsIHByb3BlcnRpZXMpO1xuXHRcdHRoaXMuY29udGVudCA9IHRoaXMuY3JlYXRlQ29udGVudCgpO1xuXHRcdGlmICh0aGlzLnN0YXRlLnNlbGVjdGVkS2V5KSB7XG5cdFx0XHQvLyBpZiB0aGVyZSBpcyBhbHJlYWR5IGEgc2VsZWN0ZWQga2V5IGxldCdzIG1ha2Ugc3VyZSB0byBhcHBseSBpdFxuXHRcdFx0dGhpcy5vblN0YXRlQ2hhbmdlKFtcInNlbGVjdGVkS2V5XCJdKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gb3RoZXJ3aXNlIGxldCdzIHNldCBhbiBpbml0aWFsIHN0YXRlXG5cdFx0XHR0aGlzLnN0YXRlLnNlbGVjdGVkS2V5ID0gXCJrZXkwXCI7XG5cdFx0fVxuXHR9XG5cblx0cmV0cmlldmVTdGF0ZSgpOiBDb250ZW50U3dpdGNoZXJTdGF0ZSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHNlbGVjdGVkS2V5OiB0aGlzLiRzZWdtZW50ZWRCdXR0b24uY3VycmVudD8uZ2V0U2VsZWN0ZWRLZXkoKVxuXHRcdH07XG5cdH1cblxuXHRhcHBseVN0YXRlKGFwcFN0YXRlPzogQ29udGVudFN3aXRjaGVyU3RhdGUpOiB2b2lkIHtcblx0XHRpZiAoYXBwU3RhdGUpIHtcblx0XHRcdHRoaXMuc3RhdGUuc2VsZWN0ZWRLZXkgPSBhcHBTdGF0ZS5zZWxlY3RlZEtleSA/PyB0aGlzLml0ZW1zWzBdPy5rZXkgPz8gXCJrZXkwXCI7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgY29udHJvbCByZWZlcmVuY2VkIGJ5IHRoZSBDb250ZW50U3dpdGNoZXJJdGVtLlxuXHQgKiBAcGFyYW0gaXRlbSBUaGUgQ29udGVudFN3aXRjaGVySXRlbVxuXHQgKiBAcmV0dXJucyBUaGUgY29udHJvbCByZWZlcmVuY2VkIGJ5IHRoZSBDb250ZW50U3dpdGNoZXJJdGVtXG5cdCAqL1xuXHRfZ2V0Q29udHJvbEZyb21JdGVtKGl0ZW06IENvbnRlbnRTd2l0Y2hlckl0ZW0pOiBDb250cm9sIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBjb250cm9sVG9Td2l0Y2ggPSBpdGVtLmNvbnRyb2xUb1N3aXRjaDtcblx0XHRpZiAoY29udHJvbFRvU3dpdGNoKSB7XG5cdFx0XHRjb25zdCBjb250cm9sID0gVUk1RWxlbWVudC5nZXRFbGVtZW50QnlJZChjb250cm9sVG9Td2l0Y2gpO1xuXHRcdFx0aWYgKGNvbnRyb2w/LmlzQTxDb250cm9sPihcInNhcC51aS5jb3JlLkNvbnRyb2xcIikpIHtcblx0XHRcdFx0cmV0dXJuIGNvbnRyb2w7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzaG93SGlkZUNvbnRyb2xzKHNlbGVjdGVkS2V5OiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBjb250cm9sc1RvSGlkZTogQ29udHJvbFtdID0gW107XG5cdFx0Y29uc3QgY29udHJvbHNUb0Rpc3BsYXk6IENvbnRyb2xbXSA9IFtdO1xuXHRcdGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKSB7XG5cdFx0XHRjb25zdCBjb250cm9sID0gdGhpcy5fZ2V0Q29udHJvbEZyb21JdGVtKGl0ZW0pO1xuXHRcdFx0Ly8gaXRlbS5rZXkgLT4gY29tcGFjdFxuXHRcdFx0Ly8gc2VsZWN0ZWRLZXkgLT4gY29tcGFjdCAmIHsgY3p4bWN6O2xreHpjIH1cblx0XHRcdGlmIChjb250cm9sICYmIGl0ZW0ua2V5ICE9PSBzZWxlY3RlZEtleSkge1xuXHRcdFx0XHRjb250cm9sc1RvSGlkZS5wdXNoKGNvbnRyb2wpO1xuXHRcdFx0fSBlbHNlIGlmIChjb250cm9sKSB7XG5cdFx0XHRcdGNvbnRyb2xzVG9EaXNwbGF5LnB1c2goY29udHJvbCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGZvciAoY29uc3QgY29udHJvbCBvZiBjb250cm9sc1RvSGlkZSkge1xuXHRcdFx0aWYgKCFjb250cm9sc1RvRGlzcGxheS5pbmNsdWRlcyhjb250cm9sKSkge1xuXHRcdFx0XHRjb250cm9sLnNldFZpc2libGUoZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRmb3IgKGNvbnN0IGNvbnRyb2wgb2YgY29udHJvbHNUb0Rpc3BsYXkpIHtcblx0XHRcdGNvbnRyb2wuc2V0VmlzaWJsZSh0cnVlKTtcblx0XHR9XG5cdH1cblxuXHRvblN0YXRlQ2hhbmdlKGNoYW5nZWRLZXlzOiBzdHJpbmdbXSk6IHZvaWQge1xuXHRcdGlmIChjaGFuZ2VkS2V5cz8uaW5jbHVkZXMoXCJzZWxlY3RlZEtleVwiKSkge1xuXHRcdFx0dGhpcy5zaG93SGlkZUNvbnRyb2xzKHRoaXMuc3RhdGUuc2VsZWN0ZWRLZXkpO1xuXHRcdFx0dGhpcy5nZXRQYWdlQ29udHJvbGxlcigpPy5nZXRFeHRlbnNpb25BUEkoKS51cGRhdGVBcHBTdGF0ZSgpO1xuXHRcdFx0dGhpcy5maXJlRXZlbnQoXCJzZWxlY3Rpb25DaGFuZ2VcIik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIGNvbnRlbnQgb2YgdGhlIGJ1aWxkaW5nIGJsb2NrLlxuXHQgKiBAcmV0dXJucyBUaGUgU2VnbWVudGVkQnV0dG9uXG5cdCAqL1xuXHRjcmVhdGVDb250ZW50KCk6IFNlZ21lbnRlZEJ1dHRvbiB7XG5cdFx0Y29uc3Qgc2VnbWVudGVkQnV0dG9uSWQgPSB0aGlzLmNyZWF0ZUlkKFwiZmlsdGVyVHlwZVN3aXRjaFwiKTtcblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8U2VnbWVudGVkQnV0dG9uIHJlZj17dGhpcy4kc2VnbWVudGVkQnV0dG9ufSBpZD17c2VnbWVudGVkQnV0dG9uSWR9IHNlbGVjdGVkS2V5PXtiaW5kU3RhdGUodGhpcy5zdGF0ZSwgXCJzZWxlY3RlZEtleVwiKX0+XG5cdFx0XHRcdHt7IGl0ZW1zOiB0aGlzLml0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IHRoaXMuY3JlYXRlU2VnbWVudGVkQnV0dG9uSXRlbShpdGVtLCBpbmRleCkpIH19XG5cdFx0XHQ8L1NlZ21lbnRlZEJ1dHRvbj5cblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIFNlZ21lbnRlZEJ1dHRvbkl0ZW0gZm9yIHRoZSBTZWdtZW50ZWRCdXR0b24gYW5kIGFzc29jaWF0ZSBhIGtleSB0byBpdC5cblx0ICogQHBhcmFtIGl0ZW0gVGhlIENvbnRlbnRTd2l0Y2hlckl0ZW1cblx0ICogQHBhcmFtIGl0ZW1JZHggVGhlIGluZGV4IG9mIHRoZSBpdGVtXG5cdCAqIEByZXR1cm5zIFRoZSBTZWdtZW50ZWRCdXR0b25JdGVtXG5cdCAqL1xuXHRjcmVhdGVTZWdtZW50ZWRCdXR0b25JdGVtKGl0ZW06IENvbnRlbnRTd2l0Y2hlckl0ZW0sIGl0ZW1JZHg6IG51bWJlcik6IFNlZ21lbnRlZEJ1dHRvbkl0ZW0ge1xuXHRcdGNvbnN0IHNlZ21lbnRCdXR0b25JdGVtSWQgPSB0aGlzLmNyZWF0ZUlkKGl0ZW0ua2V5KTtcblx0XHRpdGVtLmtleSA/Pz0gYGtleSR7aXRlbUlkeH1gO1xuXHRcdGlmIChpdGVtLmljb24pIHtcblx0XHRcdHJldHVybiA8U2VnbWVudGVkQnV0dG9uSXRlbSBpY29uPXtpdGVtLmljb259IHRvb2x0aXA9e2l0ZW0udGV4dH0ga2V5PXtpdGVtLmtleX0gaWQ9e3NlZ21lbnRCdXR0b25JdGVtSWR9IC8+O1xuXHRcdH1cblx0XHRyZXR1cm4gPFNlZ21lbnRlZEJ1dHRvbkl0ZW0gdGV4dD17aXRlbS50ZXh0fSBrZXk9e2l0ZW0ua2V5fSBpZD17c2VnbWVudEJ1dHRvbkl0ZW1JZH0gLz47XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBZ0JBO0FBQ0E7QUFDQTtBQUNBO0VBSEEsSUFLcUJBLGVBQWUsSUFBQUMsSUFBQSxHQURuQ0MsY0FBYyxDQUFDLCtDQUErQyxDQUFDLEVBQUFDLEtBQUEsR0FVOURDLGtCQUFrQixDQUFDLGtFQUFrRSxDQUFDLEVBQUFDLEtBQUEsR0FHdEZDLFdBQVcsQ0FBQztJQUFFQyxJQUFJLEVBQUUsbURBQW1EO0lBQUVDLFFBQVEsRUFBRSxJQUFJO0lBQUVDLFNBQVMsRUFBRTtFQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBRzNHQyxLQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBR1BDLGVBQWUsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHakJDLFFBQVEsQ0FBQztJQUFFUixJQUFJLEVBQUUsUUFBUTtJQUFFUyxXQUFXLEVBQUU7RUFBSyxDQUFDLENBQUMsRUFBQWYsSUFBQSxDQUFBZ0IsTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxJQUFBO0lBR2hELFNBQUFuQixnQkFBWW9CLGNBQXNELEVBQUVDLFVBQTBDLEVBQUU7TUFBQSxJQUFBQyxLQUFBO01BQy9HQSxLQUFBLEdBQUFILElBQUEsQ0FBQUksSUFB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
186
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250ZW50U3dpdGNoZXIiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImltcGxlbWVudEludGVyZmFjZSIsIl9kZWMzIiwiYWdncmVnYXRpb24iLCJ0eXBlIiwibXVsdGlwbGUiLCJpc0RlZmF1bHQiLCJfZGVjNCIsImV2ZW50IiwiX2RlYzUiLCJkZWZpbmVSZWZlcmVuY2UiLCJfZGVjNiIsInByb3BlcnR5IiwiYmluZFRvU3RhdGUiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX3JlZiIsInByb3BlcnRpZXNPcklkIiwicHJvcGVydGllcyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJjdXJyZW50S2V5IiwiY29udGVudCIsImNyZWF0ZUNvbnRlbnQiLCJyZXRyaWV2ZVN0YXRlIiwic2VsZWN0ZWRLZXkiLCJzdGF0ZSIsIm9uU3RhdGVDaGFuZ2UiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiJHNlZ21lbnRlZEJ1dHRvbiIsImN1cnJlbnQiLCJnZXRTZWxlY3RlZEtleSIsImFwcGx5U3RhdGUiLCJhcHBTdGF0ZSIsIml0ZW1zIiwia2V5IiwiX2dldENvbnRyb2xGcm9tSXRlbSIsIml0ZW0iLCJjb250cm9sVG9Td2l0Y2giLCJjb250cm9sIiwiVUk1RWxlbWVudCIsImdldEVsZW1lbnRCeUlkIiwiaXNBIiwic2hvd0hpZGVDb250cm9scyIsImNvbnRyb2xzVG9IaWRlIiwiY29udHJvbHNUb0Rpc3BsYXkiLCJwdXNoIiwiaW5jbHVkZXMiLCJzZXRWaXNpYmxlIiwiY2hhbmdlZEtleXMiLCJnZXRQYWdlQ29udHJvbGxlciIsImdldEV4dGVuc2lvbkFQSSIsInVwZGF0ZUFwcFN0YXRlIiwidHJpZ2dlclBYSW50ZWdyYXRpb24iLCJmaXJlRXZlbnQiLCJzZWdtZW50ZWRCdXR0b25JZCIsImNyZWF0ZUlkIiwiX2pzeCIsIlNlZ21lbnRlZEJ1dHRvbiIsInJlZiIsImlkIiwiYmluZFN0YXRlIiwiY2hpbGRyZW4iLCJtYXAiLCJpbmRleCIsImNyZWF0ZVNlZ21lbnRlZEJ1dHRvbkl0ZW0iLCJpdGVtSWR4Iiwic2VnbWVudEJ1dHRvbkl0ZW1JZCIsImljb24iLCJTZWdtZW50ZWRCdXR0b25JdGVtIiwidG9vbHRpcCIsInRleHQiLCJCdWlsZGluZ0Jsb2NrIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDb250ZW50U3dpdGNoZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJpbmRTdGF0ZSB9IGZyb20gXCJzYXAvZmUvYmFzZS9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBhZ2dyZWdhdGlvbiwgZGVmaW5lUmVmZXJlbmNlLCBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIGltcGxlbWVudEludGVyZmFjZSwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IFJlZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9qc3gtcnVudGltZS9qc3hcIjtcbmltcG9ydCB7IHRyaWdnZXJQWEludGVncmF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb250cm9scy9lYXN5RmlsdGVyL1BYRmVlZGJhY2tcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgdHlwZSBJVmlld1N0YXRlQ29udHJpYnV0b3IgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL3ZpZXdTdGF0ZS9JVmlld1N0YXRlQ29udHJpYnV0b3JcIjtcbmltcG9ydCB0eXBlIENvbnRlbnRTd2l0Y2hlckl0ZW0gZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udGVudFN3aXRjaGVyL0NvbnRlbnRTd2l0Y2hlckl0ZW1cIjtcbmltcG9ydCBTZWdtZW50ZWRCdXR0b24gZnJvbSBcInNhcC9tL1NlZ21lbnRlZEJ1dHRvblwiO1xuaW1wb3J0IFNlZ21lbnRlZEJ1dHRvbkl0ZW0gZnJvbSBcInNhcC9tL1NlZ21lbnRlZEJ1dHRvbkl0ZW1cIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgdHlwZSB7IEV2ZW50SGFuZGxlciB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi90eXBlcy9leHRlbnNpb25fdHlwZXNcIjtcblxudHlwZSBDb250ZW50U3dpdGNoZXJTdGF0ZSA9IHtcblx0c2VsZWN0ZWRLZXk/OiBzdHJpbmc7XG59O1xuLyoqXG4gKiBEZWZpbmVzIGEgbmV3IGJ1aWxkaW5nIGJsb2NrIHdoaWNoIGNhbiBiZSB1c2VkIHRvIHRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY29udGVudCByZWZlcmVuY2VkIGJ5IHRoZSBpdGVtLlxuICogRWFjaCBpdGVtIHdpbGwgYmUgZGlzcGxheWVkIGluIGEgc2VnbWVudGVkIGJ1dHRvbiB3aXRoIHRoZVxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmNvbnRlbnRTd2l0Y2hlci5Db250ZW50U3dpdGNoZXJcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRlbnRTd2l0Y2hlclxuXHRleHRlbmRzIEJ1aWxkaW5nQmxvY2s8XG5cdFx0U2VnbWVudGVkQnV0dG9uLFxuXHRcdHtcblx0XHRcdHNlbGVjdGVkS2V5OiBzdHJpbmc7XG5cdFx0fVxuXHQ+XG5cdGltcGxlbWVudHMgSVZpZXdTdGF0ZUNvbnRyaWJ1dG9yPENvbnRlbnRTd2l0Y2hlclN0YXRlPlxue1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMudmlld1N0YXRlLklWaWV3U3RhdGVDb250cmlidXRvclwiKVxuXHRfX2ltcGxlbWVudHNfX3NhcF9mZV9jb3JlX2NvbnRyb2xsZXJleHRlbnNpb25zX3ZpZXdTdGF0ZV9JVmlld1N0YXRlQ29udHJpYnV0b3IgPSB0cnVlO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLmZlLm1hY3Jvcy5jb250ZW50U3dpdGNoZXIuQ29udGVudFN3aXRjaGVySXRlbVwiLCBtdWx0aXBsZTogdHJ1ZSwgaXNEZWZhdWx0OiB0cnVlIH0pXG5cdGl0ZW1zITogQ29udGVudFN3aXRjaGVySXRlbVtdO1xuXG5cdEBldmVudCgpXG5cdHNlbGVjdGlvbkNoYW5nZT86IEV2ZW50SGFuZGxlcjtcblxuXHRAZGVmaW5lUmVmZXJlbmNlKClcblx0JHNlZ21lbnRlZEJ1dHRvbiE6IFJlZjxTZWdtZW50ZWRCdXR0b24+O1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGJpbmRUb1N0YXRlOiB0cnVlIH0pXG5cdHNlbGVjdGVkS2V5Pzogc3RyaW5nO1xuXG5cdHByaXZhdGUgY3VycmVudEtleTogc3RyaW5nIHwgdW5kZWZpbmVkID0gXCJcIjtcblxuXHRjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzT3JJZDogc3RyaW5nIHwgUHJvcGVydGllc09mPENvbnRlbnRTd2l0Y2hlcj4sIHByb3BlcnRpZXM/OiBQcm9wZXJ0aWVzT2Y8Q29udGVudFN3aXRjaGVyPikge1xuXHRcdHN1cGVyKHByb3BlcnRpZXNPcklkLCBwcm9wZXJ0aWVzKTtcblx0XHR0aGlzLmNvbnRlbnQgPSB0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0XHR0aGlzLmN1cnJlbnRLZXkgPSB0aGlzLnJldHJpZXZlU3RhdGUoKS5zZWxlY3RlZEtleTtcblx0XHRpZiAodGhpcy5zdGF0ZS5zZWxlY3RlZEtleSkge1xuXHRcdFx0Ly8gaWYgdGhlcmUgaXMgYWxyZWFkeSBhIHNlbGVjdGVkIGtleSBsZXQncyBtYWtlIHN1cmUgdG8gYXBwbHkgaXRcblx0XHRcdHRoaXMub25TdGF0ZUNoYW5nZShbXCJzZWxlY3RlZEtleVwiXSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIG90aGVyd2lzZSBsZXQncyBzZXQgYW4gaW5pdGlhbCBzdGF0ZVxuXHRcdFx0dGhpcy5zdGF0ZS5zZWxlY3RlZEtleSA9IFwia2V5MFwiO1xuXHRcdH1cblx0fVxuXG5cdHJldHJpZXZlU3RhdGUoKTogQ29udGVudFN3aXRjaGVyU3RhdGUge1xuXHRcdHJldHVybiB7XG5cdFx0XHRzZWxlY3RlZEtleTogdGhpcy4kc2VnbWVudGVkQnV0dG9uLmN1cnJlbnQ/LmdldFNlbGVjdGVkS2V5KClcblx0XHR9O1xuXHR9XG5cblx0YXBwbHlTdGF0ZShhcHBTdGF0ZT86IENvbnRlbnRTd2l0Y2hlclN0YXRlKTogdm9pZCB7XG5cdFx0aWYgKGFwcFN0YXRlKSB7XG5cdFx0XHR0aGlzLnN0YXRlLnNlbGVjdGVkS2V5ID0gYXBwU3RhdGUuc2VsZWN0ZWRLZXkgPz8gdGhpcy5pdGVtc1swXT8ua2V5ID8/IFwia2V5MFwiO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGNvbnRyb2wgcmVmZXJlbmNlZCBieSB0aGUgQ29udGVudFN3aXRjaGVySXRlbS5cblx0ICogQHBhcmFtIGl0ZW0gVGhlIENvbnRlbnRTd2l0Y2hlckl0ZW1cblx0ICogQHJldHVybnMgVGhlIGNvbnRyb2wgcmVmZXJlbmNlZCBieSB0aGUgQ29udGVudFN3aXRjaGVySXRlbVxuXHQgKi9cblx0X2dldENvbnRyb2xGcm9tSXRlbShpdGVtOiBDb250ZW50U3dpdGNoZXJJdGVtKTogQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgY29udHJvbFRvU3dpdGNoID0gaXRlbS5jb250cm9sVG9Td2l0Y2g7XG5cdFx0aWYgKGNvbnRyb2xUb1N3aXRjaCkge1xuXHRcdFx0Y29uc3QgY29udHJvbCA9IFVJNUVsZW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udHJvbFRvU3dpdGNoKTtcblx0XHRcdGlmIChjb250cm9sPy5pc0E8Q29udHJvbD4oXCJzYXAudWkuY29yZS5Db250cm9sXCIpKSB7XG5cdFx0XHRcdHJldHVybiBjb250cm9sO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgc2hvd0hpZGVDb250cm9scyhzZWxlY3RlZEtleTogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgY29udHJvbHNUb0hpZGU6IENvbnRyb2xbXSA9IFtdO1xuXHRcdGNvbnN0IGNvbnRyb2xzVG9EaXNwbGF5OiBDb250cm9sW10gPSBbXTtcblx0XHRmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcykge1xuXHRcdFx0Y29uc3QgY29udHJvbCA9IHRoaXMuX2dldENvbnRyb2xGcm9tSXRlbShpdGVtKTtcblx0XHRcdC8vIGl0ZW0ua2V5IC0+IGNvbXBhY3Rcblx0XHRcdC8vIHNlbGVjdGVkS2V5IC0+IGNvbXBhY3QgJiB7IGN6eG1jejtsa3h6YyB9XG5cdFx0XHRpZiAoY29udHJvbCAmJiBpdGVtLmtleSAhPT0gc2VsZWN0ZWRLZXkpIHtcblx0XHRcdFx0Y29udHJvbHNUb0hpZGUucHVzaChjb250cm9sKTtcblx0XHRcdH0gZWxzZSBpZiAoY29udHJvbCkge1xuXHRcdFx0XHRjb250cm9sc1RvRGlzcGxheS5wdXNoKGNvbnRyb2wpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRmb3IgKGNvbnN0IGNvbnRyb2wgb2YgY29udHJvbHNUb0hpZGUpIHtcblx0XHRcdGlmICghY29udHJvbHNUb0Rpc3BsYXkuaW5jbHVkZXMoY29udHJvbCkpIHtcblx0XHRcdFx0Y29udHJvbC5zZXRWaXNpYmxlKGZhbHNlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Zm9yIChjb25zdCBjb250cm9sIG9mIGNvbnRyb2xzVG9EaXNwbGF5KSB7XG5cdFx0XHRjb250cm9sLnNldFZpc2libGUodHJ1ZSk7XG5cdFx0fVxuXHR9XG5cblx0b25TdGF0ZUNoYW5nZShjaGFuZ2VkS2V5czogc3RyaW5nW10pOiB2b2lkIHtcblx0XHRpZiAoY2hhbmdlZEtleXM/LmluY2x1ZGVzKFwic2VsZWN0ZWRLZXlcIikpIHtcblx0XHRcdHRoaXMuc2hvd0hpZGVDb250cm9scyh0aGlzLnN0YXRlLnNlbGVjdGVkS2V5KTtcblx0XHRcdHRoaXMuZ2V0UGFnZUNvbnRyb2xsZXIoKT8uZ2V0RXh0ZW5zaW9uQVBJKCkudXBkYXRlQXBwU3RhdGUoKTtcblx0XHRcdGlmICh0aGlzLmN1cnJlbnRLZXkgPT09IFwiYWlcIiAmJiB0aGlzLnN0YXRlLnNlbGVjdGVkS2V5ID09PSBcImNvbXBhY3RcIikge1xuXHRcdFx0XHR0cmlnZ2VyUFhJbnRlZ3JhdGlvbihcInRvZ2dsZVN3aXRjaFwiKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuY3VycmVudEtleSA9IHRoaXMuc3RhdGUuc2VsZWN0ZWRLZXk7XG5cdFx0XHR0aGlzLmZpcmVFdmVudChcInNlbGVjdGlvbkNoYW5nZVwiKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgY29udGVudCBvZiB0aGUgYnVpbGRpbmcgYmxvY2suXG5cdCAqIEByZXR1cm5zIFRoZSBTZWdtZW50ZWRCdXR0b25cblx0ICovXG5cdGNyZWF0ZUNvbnRlbnQoKTogU2VnbWVudGVkQnV0dG9uIHtcblx0XHRjb25zdCBzZWdtZW50ZWRCdXR0b25JZCA9IHRoaXMuY3JlYXRlSWQoXCJmaWx0ZXJUeXBlU3dpdGNoXCIpO1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdDxTZWdtZW50ZWRCdXR0b24gcmVmPXt0aGlzLiRzZWdtZW50ZWRCdXR0b259IGlkPXtzZWdtZW50ZWRCdXR0b25JZH0gc2VsZWN0ZWRLZXk9e2JpbmRTdGF0ZSh0aGlzLnN0YXRlLCBcInNlbGVjdGVkS2V5XCIpfT5cblx0XHRcdFx0e3sgaXRlbXM6IHRoaXMuaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gdGhpcy5jcmVhdGVTZWdtZW50ZWRCdXR0b25JdGVtKGl0ZW0sIGluZGV4KSkgfX1cblx0XHRcdDwvU2VnbWVudGVkQnV0dG9uPlxuXHRcdCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgU2VnbWVudGVkQnV0dG9uSXRlbSBmb3IgdGhlIFNlZ21lbnRlZEJ1dHRvbiBhbmQgYXNzb2NpYXRlIGEga2V5IHRvIGl0LlxuXHQgKiBAcGFyYW0gaXRlbSBUaGUgQ29udGVudFN3aXRjaGVySXRlbVxuXHQgKiBAcGFyYW0gaXRlbUlkeCBUaGUgaW5kZXggb2YgdGhlIGl0ZW1cblx0ICogQHJldHVybnMgVGhlIFNlZ21lbnRlZEJ1dHRvbkl0ZW1cblx0ICovXG5cdGNyZWF0ZVNlZ21lbnRlZEJ1dHRvbkl0ZW0oaXRlbTogQ29udGVudFN3aXRjaGVySXRlbSwgaXRlbUlkeDogbnVtYmVyKTogU2VnbWVudGVkQnV0dG9uSXRlbSB7XG5cdFx0Y29uc3Qgc2VnbWVudEJ1dHRvbkl0ZW1JZCA9IHRoaXMuY3JlYXRlSWQoaXRlbS5rZXkpO1xuXHRcdGl0ZW0ua2V5ID8/PSBga2V5JHtpdGVtSWR4fWA7XG5cdFx0aWYgKGl0ZW0uaWNvbikge1xuXHRcdFx0cmV0dXJuIDxTZWdtZW50ZWRCdXR0b25JdGVtIGljb249e2l0ZW0uaWNvbn0gdG9vbHRpcD17aXRlbS50ZXh0fSBrZXk9e2l0ZW0ua2V5fSBpZD17c2VnbWVudEJ1dHRvbkl0ZW1JZH0gLz47XG5cdFx0fVxuXHRcdHJldHVybiA8U2VnbWVudGVkQnV0dG9uSXRlbSB0ZXh0PXtpdGVtLnRleHR9IGtleT17aXRlbS5rZXl9IGlkPXtzZWdtZW50QnV0dG9uSXRlbUlkfSAvPjtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJBO0FBQ0E7QUFDQTtBQUNBO0VBSEEsSUFLcUJBLGVBQWUsSUFBQUMsSUFBQSxHQURuQ0MsY0FBYyxDQUFDLCtDQUErQyxDQUFDLEVBQUFDLEtBQUEs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
@@ -2,6 +2,7 @@ import { bindState } from "sap/fe/base/BindingToolkit";
2
2
  import type { PropertiesOf } from "sap/fe/base/ClassSupport";
3
3
  import { aggregation, defineReference, defineUI5Class, event, implementInterface, property } from "sap/fe/base/ClassSupport";
4
4
  import type { Ref } from "sap/fe/base/jsx-runtime/jsx";
5
+ import { triggerPXIntegration } from "sap/fe/controls/easyFilter/PXFeedback";
5
6
  import BuildingBlock from "sap/fe/core/buildingBlocks/BuildingBlock";
6
7
  import type IViewStateContributor from "sap/fe/core/controllerextensions/viewState/IViewStateContributor";
7
8
  import type ContentSwitcherItem from "sap/fe/macros/contentSwitcher/ContentSwitcherItem";
@@ -43,9 +44,12 @@ export default class ContentSwitcher
43
44
  @property({ type: "string", bindToState: true })
44
45
  selectedKey?: string;
45
46
 
47
+ private currentKey: string | undefined = "";
48
+
46
49
  constructor(propertiesOrId: string | PropertiesOf<ContentSwitcher>, properties?: PropertiesOf<ContentSwitcher>) {
47
50
  super(propertiesOrId, properties);
48
51
  this.content = this.createContent();
52
+ this.currentKey = this.retrieveState().selectedKey;
49
53
  if (this.state.selectedKey) {
50
54
  // if there is already a selected key let's make sure to apply it
51
55
  this.onStateChange(["selectedKey"]);
@@ -109,6 +113,10 @@ export default class ContentSwitcher
109
113
  if (changedKeys?.includes("selectedKey")) {
110
114
  this.showHideControls(this.state.selectedKey);
111
115
  this.getPageController()?.getExtensionAPI().updateAppState();
116
+ if (this.currentKey === "ai" && this.state.selectedKey === "compact") {
117
+ triggerPXIntegration("toggleSwitch");
118
+ }
119
+ this.currentKey = this.state.selectedKey;
112
120
  this.fireEvent("selectionChange");
113
121
  }
114
122
  }
@@ -53,10 +53,14 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx-xml", "s
53
53
  };
54
54
  _proto.serialize = function serialize(overrideNodeName) {
55
55
  const properties = this.getMetadata().getAllProperties();
56
+ const events = this.getMetadata().getAllEvents();
56
57
  const aggregations = this.getMetadata().getAllAggregations();
57
58
  const settings = {
58
59
  children: {}
59
60
  };
61
+ for (const eventName in events) {
62
+ settings[eventName] = `THIS._fireEvent($event, $controller, '${eventName}')`;
63
+ }
60
64
  for (const propertyName in properties) {
61
65
  const property = this.getProperty(propertyName);
62
66
  if (typeof property !== "function") {
@@ -97,4 +101,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx-xml", "s
97
101
  _exports = BuildingBlockObjectProperty;
98
102
  return _exports;
99
103
  }, false);
100
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfVUk1RWxlbWVudCIsImFwcGx5IiwiYXJndW1lbnRzIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImdldFByb3BlcnR5QmFnIiwic2V0dGluZ3MiLCJwcm9wZXJ0aWVzIiwiZ2V0TWV0YWRhdGEiLCJnZXRBbGxQcm9wZXJ0aWVzIiwiYWdncmVnYXRpb25zIiwiZ2V0QWxsQWdncmVnYXRpb25zIiwicHJvcGVydHlOYW1lIiwicHJvcGVydHkiLCJnZXRQcm9wZXJ0eSIsImFnZ3JlZ2F0aW9uTmFtZSIsImFnZ3JlZ2F0aW9uQ29udGVudCIsImdldEFnZ3JlZ2F0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGRyZW5BcnJheSIsIm1hbmFnZWRPYmplY3QiLCJpc0EiLCJwdXNoIiwiZ2V0SWQiLCJzZXJpYWxpemUiLCJvdmVycmlkZU5vZGVOYW1lIiwiY2hpbGRyZW4iLCJqc3hYbWwiLCJnZXRDbGFzcyIsInVuZGVmaW5lZCIsImJpbmRQcm9wZXJ0eSIsIm5hbWUiLCJiaW5kaW5nSW5mbyIsInByb3BlcnR5TWV0YWRhdGEiLCJiaW5kYWJsZSIsImdyb3VwIiwiY2FsbCIsIlVJNUVsZW1lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBDb250cm9sUHJvcGVydGllcywgTm9uQ29udHJvbFByb3BlcnRpZXMgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvanN4LXJ1bnRpbWUvanN4XCI7XG5pbXBvcnQganN4WG1sIGZyb20gXCJzYXAvZmUvYmFzZS9qc3gtcnVudGltZS9qc3gteG1sXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5QmluZGluZ0luZm8gfSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IFVJNUVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBidWlsZGluZyBibG9jayBjb21wbGV4IG9iamVjdCBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIHNlcmlhbGl6ZWQgdG8gWE1MLlxuICogQHB1YmxpY1xuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGV4dGVuZHMgVUk1RWxlbWVudCB7XG5cdGdldFByb3BlcnR5QmFnKCk6IFByb3BlcnRpZXNPZjx0aGlzPiB7XG5cdFx0Y29uc3Qgc2V0dGluZ3M6IFByb3BlcnRpZXNPZjx0aGlzPiA9IHt9IGFzIFByb3BlcnRpZXNPZjx0aGlzPjtcblx0XHRjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldEFsbFByb3BlcnRpZXMoKTtcblx0XHRjb25zdCBhZ2dyZWdhdGlvbnMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsQWdncmVnYXRpb25zKCk7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gcHJvcGVydGllcykge1xuXHRcdFx0Y29uc3QgcHJvcGVydHkgPSB0aGlzLmdldFByb3BlcnR5KHByb3BlcnR5TmFtZSk7XG5cdFx0XHRpZiAodHlwZW9mIHByb3BlcnR5ICE9PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdFx0c2V0dGluZ3NbcHJvcGVydHlOYW1lIGFzIGtleW9mIFByb3BlcnRpZXNPZjx0aGlzPl0gPSBwcm9wZXJ0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Zm9yIChjb25zdCBhZ2dyZWdhdGlvbk5hbWUgaW4gYWdncmVnYXRpb25zKSB7XG5cdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkNvbnRlbnQgPSB0aGlzLmdldEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZSk7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhZ2dyZWdhdGlvbkNvbnRlbnQpKSB7XG5cdFx0XHRcdGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBbXTtcblx0XHRcdFx0Zm9yIChjb25zdCBtYW5hZ2VkT2JqZWN0IG9mIGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRcdGlmIChtYW5hZ2VkT2JqZWN0LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRcdGNoaWxkcmVuQXJyYXkucHVzaChtYW5hZ2VkT2JqZWN0LmdldFByb3BlcnR5QmFnKCkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWUgYXMga2V5b2YgUHJvcGVydGllc09mPHRoaXM+XSA9IGNoaWxkcmVuQXJyYXk7XG5cdFx0XHR9IGVsc2UgaWYgKGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRpZiAoYWdncmVnYXRpb25Db250ZW50LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWUgYXMga2V5b2YgUHJvcGVydGllc09mPHRoaXM+XSA9IGFnZ3JlZ2F0aW9uQ29udGVudC5nZXRQcm9wZXJ0eUJhZygpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNldHRpbmdzW2FnZ3JlZ2F0aW9uTmFtZSBhcyBrZXlvZiBQcm9wZXJ0aWVzT2Y8dGhpcz5dID0gYWdncmVnYXRpb25Db250ZW50LmdldElkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHNldHRpbmdzO1xuXHR9XG5cblx0c2VyaWFsaXplKG92ZXJyaWRlTm9kZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsUHJvcGVydGllcygpO1xuXHRcdGNvbnN0IGFnZ3JlZ2F0aW9ucyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxBZ2dyZWdhdGlvbnMoKTtcblx0XHRjb25zdCBzZXR0aW5nczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gJiB7IGNoaWxkcmVuOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9ID0geyBjaGlsZHJlbjoge30gfTtcblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRjb25zdCBwcm9wZXJ0eSA9IHRoaXMuZ2V0UHJvcGVydHkocHJvcGVydHlOYW1lKTtcblx0XHRcdGlmICh0eXBlb2YgcHJvcGVydHkgIT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0XHRzZXR0aW5nc1twcm9wZXJ0eU5hbWVdID0gcHJvcGVydHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGZvciAoY29uc3QgYWdncmVnYXRpb25OYW1lIGluIGFnZ3JlZ2F0aW9ucykge1xuXHRcdFx0Y29uc3QgYWdncmVnYXRpb25Db250ZW50ID0gdGhpcy5nZXRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbk5hbWUpO1xuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoYWdncmVnYXRpb25Db250ZW50KSkge1xuXHRcdFx0XHRjb25zdCBjaGlsZHJlbkFycmF5ID0gW107XG5cdFx0XHRcdGZvciAoY29uc3QgbWFuYWdlZE9iamVjdCBvZiBhZ2dyZWdhdGlvbkNvbnRlbnQpIHtcblx0XHRcdFx0XHRpZiAobWFuYWdlZE9iamVjdC5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpKSB7XG5cdFx0XHRcdFx0XHRjaGlsZHJlbkFycmF5LnB1c2gobWFuYWdlZE9iamVjdC5zZXJpYWxpemUoKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHNldHRpbmdzLmNoaWxkcmVuW2FnZ3JlZ2F0aW9uTmFtZV0gPSBjaGlsZHJlbkFycmF5O1xuXHRcdFx0fSBlbHNlIGlmIChhZ2dyZWdhdGlvbkNvbnRlbnQpIHtcblx0XHRcdFx0aWYgKGFnZ3JlZ2F0aW9uQ29udGVudC5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpKSB7XG5cdFx0XHRcdFx0c2V0dGluZ3MuY2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXSA9IGFnZ3JlZ2F0aW9uQ29udGVudC5zZXJpYWxpemUoKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWVdID0gYWdncmVnYXRpb25Db250ZW50LmdldElkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGpzeFhtbDxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFxuXHRcdFx0dGhpcy5nZXRNZXRhZGF0YSgpLmdldENsYXNzKCkgYXMgdW5rbm93biBhcyB0eXBlb2YgQ29udHJvbCxcblx0XHRcdHNldHRpbmdzIGFzIE5vbkNvbnRyb2xQcm9wZXJ0aWVzPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4gJiB7XG5cdFx0XHRcdGtleT86IHN0cmluZztcblx0XHRcdFx0Y2hpbGRyZW4/OiBVSTVFbGVtZW50IHwgQ29udHJvbFByb3BlcnRpZXM8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5Pjtcblx0XHRcdH0sXG5cdFx0XHR1bmRlZmluZWQsXG5cdFx0XHR7fSxcblx0XHRcdG92ZXJyaWRlTm9kZU5hbWVcblx0XHQpO1xuXHR9XG5cblx0b3ZlcnJpZGUgYmluZFByb3BlcnR5KG5hbWU6IHN0cmluZywgYmluZGluZ0luZm86IFByb3BlcnR5QmluZGluZ0luZm8pOiB0aGlzIHtcblx0XHRjb25zdCBwcm9wZXJ0eU1ldGFkYXRhID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldFByb3BlcnR5KG5hbWUpO1xuXHRcdGlmIChwcm9wZXJ0eU1ldGFkYXRhPy5iaW5kYWJsZSA9PT0gZmFsc2UgJiYgcHJvcGVydHlNZXRhZGF0YS5ncm91cCA9PT0gXCJEYXRhXCIpIHtcblx0XHRcdCh0aGlzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtuYW1lXSA9IGJpbmRpbmdJbmZvO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdXBlci5iaW5kUHJvcGVydHkobmFtZSwgYmluZGluZ0luZm8pO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7RUFRQTtBQUNBO0FBQ0E7QUFDQTtFQUhBLElBS3FCQSwyQkFBMkIsSUFBQUMsSUFBQSxHQUQvQ0MsY0FBYyxDQUFDLG9EQUFvRCxDQUFDLEVBQUFELElBQUEsQ0FBQUUsTUFBQSwwQkFBQUMsV0FBQTtJQUFBLFNBQUFKLDRCQUFBO01BQUEsT0FBQUksV0FBQSxDQUFBQyxLQUFBLE9BQUFDLFNBQUE7SUFBQTtJQUFBQyxRQUFBLEdBQUFQLDJCQUFBO0lBQUFRLGNBQUEsQ0FBQVIsMkJBQUEsRUFBQUksV0FBQTtJQUFBLElBQUFLLE1BQUEsR0FBQVQsMkJBQUEsQ0FBQVUsU0FBQTtJQUFBRCxNQUFBLENBRXBFRSxjQUFjLEdBQWQsU0FBQUEsY0FBY0EsQ0FBQSxFQUF1QjtNQUNwQyxNQUFNQyxRQUE0QixHQUFHLENBQUMsQ0FBdUI7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
104
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfVUk1RWxlbWVudCIsImFwcGx5IiwiYXJndW1lbnRzIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImdldFByb3BlcnR5QmFnIiwic2V0dGluZ3MiLCJwcm9wZXJ0aWVzIiwiZ2V0TWV0YWRhdGEiLCJnZXRBbGxQcm9wZXJ0aWVzIiwiYWdncmVnYXRpb25zIiwiZ2V0QWxsQWdncmVnYXRpb25zIiwicHJvcGVydHlOYW1lIiwicHJvcGVydHkiLCJnZXRQcm9wZXJ0eSIsImFnZ3JlZ2F0aW9uTmFtZSIsImFnZ3JlZ2F0aW9uQ29udGVudCIsImdldEFnZ3JlZ2F0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGRyZW5BcnJheSIsIm1hbmFnZWRPYmplY3QiLCJpc0EiLCJwdXNoIiwiZ2V0SWQiLCJzZXJpYWxpemUiLCJvdmVycmlkZU5vZGVOYW1lIiwiZXZlbnRzIiwiZ2V0QWxsRXZlbnRzIiwiY2hpbGRyZW4iLCJldmVudE5hbWUiLCJqc3hYbWwiLCJnZXRDbGFzcyIsInVuZGVmaW5lZCIsImJpbmRQcm9wZXJ0eSIsIm5hbWUiLCJiaW5kaW5nSW5mbyIsInByb3BlcnR5TWV0YWRhdGEiLCJiaW5kYWJsZSIsImdyb3VwIiwiY2FsbCIsIlVJNUVsZW1lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBDb250cm9sUHJvcGVydGllcywgTm9uQ29udHJvbFByb3BlcnRpZXMgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvanN4LXJ1bnRpbWUvanN4XCI7XG5pbXBvcnQganN4WG1sIGZyb20gXCJzYXAvZmUvYmFzZS9qc3gtcnVudGltZS9qc3gteG1sXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5QmluZGluZ0luZm8gfSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IFVJNUVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBidWlsZGluZyBibG9jayBjb21wbGV4IG9iamVjdCBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIHNlcmlhbGl6ZWQgdG8gWE1MLlxuICogQHB1YmxpY1xuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGV4dGVuZHMgVUk1RWxlbWVudCB7XG5cdGdldFByb3BlcnR5QmFnKCk6IFByb3BlcnRpZXNPZjx0aGlzPiB7XG5cdFx0Y29uc3Qgc2V0dGluZ3M6IFByb3BlcnRpZXNPZjx0aGlzPiA9IHt9IGFzIFByb3BlcnRpZXNPZjx0aGlzPjtcblx0XHRjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldEFsbFByb3BlcnRpZXMoKTtcblx0XHRjb25zdCBhZ2dyZWdhdGlvbnMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsQWdncmVnYXRpb25zKCk7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gcHJvcGVydGllcykge1xuXHRcdFx0Y29uc3QgcHJvcGVydHkgPSB0aGlzLmdldFByb3BlcnR5KHByb3BlcnR5TmFtZSk7XG5cdFx0XHRpZiAodHlwZW9mIHByb3BlcnR5ICE9PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdFx0c2V0dGluZ3NbcHJvcGVydHlOYW1lIGFzIGtleW9mIFByb3BlcnRpZXNPZjx0aGlzPl0gPSBwcm9wZXJ0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Zm9yIChjb25zdCBhZ2dyZWdhdGlvbk5hbWUgaW4gYWdncmVnYXRpb25zKSB7XG5cdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkNvbnRlbnQgPSB0aGlzLmdldEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZSk7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhZ2dyZWdhdGlvbkNvbnRlbnQpKSB7XG5cdFx0XHRcdGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBbXTtcblx0XHRcdFx0Zm9yIChjb25zdCBtYW5hZ2VkT2JqZWN0IG9mIGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRcdGlmIChtYW5hZ2VkT2JqZWN0LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRcdGNoaWxkcmVuQXJyYXkucHVzaChtYW5hZ2VkT2JqZWN0LmdldFByb3BlcnR5QmFnKCkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWUgYXMga2V5b2YgUHJvcGVydGllc09mPHRoaXM+XSA9IGNoaWxkcmVuQXJyYXk7XG5cdFx0XHR9IGVsc2UgaWYgKGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRpZiAoYWdncmVnYXRpb25Db250ZW50LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWUgYXMga2V5b2YgUHJvcGVydGllc09mPHRoaXM+XSA9IGFnZ3JlZ2F0aW9uQ29udGVudC5nZXRQcm9wZXJ0eUJhZygpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNldHRpbmdzW2FnZ3JlZ2F0aW9uTmFtZSBhcyBrZXlvZiBQcm9wZXJ0aWVzT2Y8dGhpcz5dID0gYWdncmVnYXRpb25Db250ZW50LmdldElkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHNldHRpbmdzO1xuXHR9XG5cblx0c2VyaWFsaXplKG92ZXJyaWRlTm9kZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsUHJvcGVydGllcygpO1xuXHRcdGNvbnN0IGV2ZW50cyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxFdmVudHMoKTtcblx0XHRjb25zdCBhZ2dyZWdhdGlvbnMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsQWdncmVnYXRpb25zKCk7XG5cdFx0Y29uc3Qgc2V0dGluZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYgeyBjaGlsZHJlbjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSA9IHsgY2hpbGRyZW46IHt9IH07XG5cdFx0Zm9yIChjb25zdCBldmVudE5hbWUgaW4gZXZlbnRzKSB7XG5cdFx0XHRzZXR0aW5nc1tldmVudE5hbWVdID0gYFRISVMuX2ZpcmVFdmVudCgkZXZlbnQsICRjb250cm9sbGVyLCAnJHtldmVudE5hbWV9JylgO1xuXHRcdH1cblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRjb25zdCBwcm9wZXJ0eSA9IHRoaXMuZ2V0UHJvcGVydHkocHJvcGVydHlOYW1lKTtcblx0XHRcdGlmICh0eXBlb2YgcHJvcGVydHkgIT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0XHRzZXR0aW5nc1twcm9wZXJ0eU5hbWVdID0gcHJvcGVydHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGZvciAoY29uc3QgYWdncmVnYXRpb25OYW1lIGluIGFnZ3JlZ2F0aW9ucykge1xuXHRcdFx0Y29uc3QgYWdncmVnYXRpb25Db250ZW50ID0gdGhpcy5nZXRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbk5hbWUpO1xuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoYWdncmVnYXRpb25Db250ZW50KSkge1xuXHRcdFx0XHRjb25zdCBjaGlsZHJlbkFycmF5ID0gW107XG5cdFx0XHRcdGZvciAoY29uc3QgbWFuYWdlZE9iamVjdCBvZiBhZ2dyZWdhdGlvbkNvbnRlbnQpIHtcblx0XHRcdFx0XHRpZiAobWFuYWdlZE9iamVjdC5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpKSB7XG5cdFx0XHRcdFx0XHRjaGlsZHJlbkFycmF5LnB1c2gobWFuYWdlZE9iamVjdC5zZXJpYWxpemUoKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHNldHRpbmdzLmNoaWxkcmVuW2FnZ3JlZ2F0aW9uTmFtZV0gPSBjaGlsZHJlbkFycmF5O1xuXHRcdFx0fSBlbHNlIGlmIChhZ2dyZWdhdGlvbkNvbnRlbnQpIHtcblx0XHRcdFx0aWYgKGFnZ3JlZ2F0aW9uQ29udGVudC5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpKSB7XG5cdFx0XHRcdFx0c2V0dGluZ3MuY2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXSA9IGFnZ3JlZ2F0aW9uQ29udGVudC5zZXJpYWxpemUoKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWVdID0gYWdncmVnYXRpb25Db250ZW50LmdldElkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGpzeFhtbDxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFxuXHRcdFx0dGhpcy5nZXRNZXRhZGF0YSgpLmdldENsYXNzKCkgYXMgdW5rbm93biBhcyB0eXBlb2YgQ29udHJvbCxcblx0XHRcdHNldHRpbmdzIGFzIE5vbkNvbnRyb2xQcm9wZXJ0aWVzPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4gJiB7XG5cdFx0XHRcdGtleT86IHN0cmluZztcblx0XHRcdFx0Y2hpbGRyZW4/OiBVSTVFbGVtZW50IHwgQ29udHJvbFByb3BlcnRpZXM8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5Pjtcblx0XHRcdH0sXG5cdFx0XHR1bmRlZmluZWQsXG5cdFx0XHR7fSxcblx0XHRcdG92ZXJyaWRlTm9kZU5hbWVcblx0XHQpO1xuXHR9XG5cblx0b3ZlcnJpZGUgYmluZFByb3BlcnR5KG5hbWU6IHN0cmluZywgYmluZGluZ0luZm86IFByb3BlcnR5QmluZGluZ0luZm8pOiB0aGlzIHtcblx0XHRjb25zdCBwcm9wZXJ0eU1ldGFkYXRhID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldFByb3BlcnR5KG5hbWUpO1xuXHRcdGlmIChwcm9wZXJ0eU1ldGFkYXRhPy5iaW5kYWJsZSA9PT0gZmFsc2UgJiYgcHJvcGVydHlNZXRhZGF0YS5ncm91cCA9PT0gXCJEYXRhXCIpIHtcblx0XHRcdCh0aGlzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtuYW1lXSA9IGJpbmRpbmdJbmZvO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdXBlci5iaW5kUHJvcGVydHkobmFtZSwgYmluZGluZ0luZm8pO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7RUFRQTtBQUNBO0FBQ0E7QUFDQTtFQUhBLElBS3FCQSwyQkFBMkIsSUFBQUMsSUFBQSxHQUQvQ0MsY0FBYyxDQUFDLG9EQUFvRCxDQUFDLEVBQUFELElBQUEsQ0FBQUUsTUFBQSwwQkFBQUMsV0FBQTtJQUFBLFNBQUFKLDRCQUFBO01B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
@@ -45,8 +45,12 @@ export default class BuildingBlockObjectProperty extends UI5Element {
45
45
 
46
46
  serialize(overrideNodeName?: string): string {
47
47
  const properties = this.getMetadata().getAllProperties();
48
+ const events = this.getMetadata().getAllEvents();
48
49
  const aggregations = this.getMetadata().getAllAggregations();
49
50
  const settings: Record<string, unknown> & { children: Record<string, unknown> } = { children: {} };
51
+ for (const eventName in events) {
52
+ settings[eventName] = `THIS._fireEvent($event, $controller, '${eventName}')`;
53
+ }
50
54
  for (const propertyName in properties) {
51
55
  const property = this.getProperty(propertyName);
52
56
  if (typeof property !== "function") {
@@ -17,7 +17,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
17
17
  * Using this class you can define a building block that will manage and render a templating based building block.
18
18
  * On change of the main properties you will be able to recreate the content.
19
19
  * @public
20
- * @experimental
20
+ * @ui5-experimental-since
21
21
  * @deprecated
22
22
  * @deprecatedsince 1.140
23
23
  */
@@ -181,4 +181,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
181
181
  _exports = BuildingBlockWithTemplating;
182
182
  return _exports;
183
183
  }, false);
184
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrV2l0aFRlbXBsYXRpbmciLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfQnVpbGRpbmdCbG9jayIsImFwcGx5IiwiYXJndW1lbnRzIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsIm9uTWV0YWRhdGFBdmFpbGFibGUiLCJjb250ZW50IiwiX2NyZWF0ZUNvbnRlbnQiLCJvd25lciIsIl9nZXRPd25lciIsImlzQSIsImNvbnRlbnRDcmVhdGVkIiwiY3JlYXRlQ29udGVudCIsImNyZWF0ZVByb3h5TWV0aG9kcyIsIm1ldGhvZHMiLCJfdGhpcyIsIm1ldGhvZCIsIl9sZW4iLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5Iiwic2V0UHJvcGVydHkiLCJwcm9wZXJ0eUtleSIsInByb3BlcnR5VmFsdWUiLCJiU3VwcHJlc3NJbnZhbGlkYXRlIiwiX2FwcGx5aW5nU2V0dGluZ3MiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0TWV0YWRhdGEiLCJnZXRQcm9wZXJ0aWVzIiwiaW5jbHVkZXMiLCJjYWxsIiwic2V0QWdncmVnYXRpb24iLCJhZ2dyZWdhdGlvbk9iamVjdCIsImdldEFnZ3JlZ2F0aW9ucyIsInJlbW92ZUFnZ3JlZ2F0aW9uIiwiYWdncmVnYXRpb25OYW1lIiwib2JqZWN0Iiwic3VwcHJlc3NJbnZhbGlkYXRlIiwicmVtb3ZlZCIsImFkZEFnZ3JlZ2F0aW9uIiwiaW5zZXJ0QWdncmVnYXRpb24iLCJpbmRleCIsInByZXByb2Nlc3NvckNvbnRleHQiLCJnZXRQcmVwcm9jZXNzb3JDb250ZXh0IiwibW9kZWxzIiwiYmluZGluZ0NvbnRleHRzIiwibWV0YWRhdGEiLCJiYk1ldGFkYXRhIiwiYnVpbGRpbmdCbG9ja01ldGFkYXRhIiwibmFtZXNwYWNlIiwicHVibGljTmFtZXNwYWNlIiwibmFtZSIsImZxbk5hbWUiLCJnZXROYW1lIiwicmVwbGFjZUFsbCIsInhtbFByb3BlcnRpZXMiLCJ4bWxBZ2dyZWdhdGlvbnMiLCJhbGxBZ2dyZWdhdGlvbnMiLCJhZ2dyZWdhdGlvbnMiLCJwcm9wZXJ0aWVzS2V5IiwicHJvcGVydGllcyIsInByb3BlcnR5VmFsdWVPYmplY3QiLCJoYXNPd25Qcm9wZXJ0eSIsImdldE1vZGVsIiwibW9kZWwiLCJnZXRPYmplY3QiLCJwYXRoIiwidHlwZSIsInB1c2giLCJ4bWwiLCJ4bWxBZ2dyZWdhdGlvbiIsInNlcmlhbGl6ZSIsImlzQ29udGV4dCIsImdldFBhdGgiLCJhZ2dyZWdhdGlvbktleSIsIl9hZ2dyZWdhdGlvblZhbHVlIiwiaXNBcnJheSIsImFnZ3JlZ2F0aW9uQ2hpbGRyZW4iLCJhZ2dyZWdhdGlvbkNoaWxkIiwiam9pbiIsImZyYWdtZW50IiwiWE1MUHJlcHJvY2Vzc29yIiwicHJvY2VzcyIsInBhcnNlWE1MU3RyaW5nIiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJkZXN0cm95IiwicnVuQXNPd25lciIsIkZyYWdtZW50IiwibG9hZCIsImRlZmluaXRpb24iLCJjb250cm9sbGVyIiwiZ2V0Um9vdENvbnRyb2xsZXIiLCJCdWlsZGluZ0Jsb2NrIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJCdWlsZGluZ0Jsb2NrV2l0aFRlbXBsYXRpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbmhhbmNlV2l0aFVJNSwgVUk1Q29udHJvbE1ldGFkYXRhRGVmaW5pdGlvbiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgVGVtcGxhdGVDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL1RlbXBsYXRlQ29tcG9uZW50XCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1wiO1xuaW1wb3J0IHR5cGUgeyBCdWlsZGluZ0Jsb2NrTWV0YWRhdGEgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvdGVtcGxhdGluZy9CdWlsZGluZ0Jsb2NrU3VwcG9ydFwiO1xuaW1wb3J0IHsgcGFyc2VYTUxTdHJpbmcsIHhtbCB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy90ZW1wbGF0aW5nL0J1aWxkaW5nQmxvY2tUZW1wbGF0ZVByb2Nlc3NvclwiO1xuaW1wb3J0IHsgaXNDb250ZXh0IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IHR5cGUgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL0J1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eUJpbmRpbmdJbmZvIH0gZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIEJhc2VPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL09iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgVUk1RWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IEZyYWdtZW50IGZyb20gXCJzYXAvdWkvY29yZS9GcmFnbWVudFwiO1xuaW1wb3J0IFhNTFByZXByb2Nlc3NvciBmcm9tIFwic2FwL3VpL2NvcmUvdXRpbC9YTUxQcmVwcm9jZXNzb3JcIjtcblxuLyoqXG4gKiBVc2luZyB0aGlzIGNsYXNzIHlvdSBjYW4gZGVmaW5lIGEgYnVpbGRpbmcgYmxvY2sgdGhhdCB3aWxsIG1hbmFnZSBhbmQgcmVuZGVyIGEgdGVtcGxhdGluZyBiYXNlZCBidWlsZGluZyBibG9jay5cbiAqIE9uIGNoYW5nZSBvZiB0aGUgbWFpbiBwcm9wZXJ0aWVzIHlvdSB3aWxsIGJlIGFibGUgdG8gcmVjcmVhdGUgdGhlIGNvbnRlbnQuXG4gKiBAcHVibGljXG4gKiBAZXhwZXJpbWVudGFsXG4gKiBAZGVwcmVjYXRlZFxuICogQGRlcHJlY2F0ZWRzaW5jZSAxLjE0MFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tXaXRoVGVtcGxhdGluZ1wiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnVpbGRpbmdCbG9ja1dpdGhUZW1wbGF0aW5nIGV4dGVuZHMgQnVpbGRpbmdCbG9jazxDb250cm9sPiB7XG5cdHB1YmxpYyBjb250ZW50Q3JlYXRlZD86IFByb21pc2U8dm9pZD47XG5cblx0cHJpdmF0ZSBtZXRhZGF0YSE6IFVJNUNvbnRyb2xNZXRhZGF0YURlZmluaXRpb247XG5cblx0b25NZXRhZGF0YUF2YWlsYWJsZSgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuY29udGVudCkge1xuXHRcdFx0dGhpcy5fY3JlYXRlQ29udGVudCgpO1xuXHRcdH1cblx0fVxuXG5cdF9jcmVhdGVDb250ZW50KCk6IHZvaWQge1xuXHRcdGNvbnN0IG93bmVyID0gdGhpcy5fZ2V0T3duZXIoKTtcblx0XHRpZiAob3duZXI/LmlzQTxUZW1wbGF0ZUNvbXBvbmVudD4oXCJzYXAuZmUuY29yZS5UZW1wbGF0ZUNvbXBvbmVudFwiKSkge1xuXHRcdFx0dGhpcy5jb250ZW50Q3JlYXRlZCA9IHRoaXMuY3JlYXRlQ29udGVudChvd25lciBhcyBFbmhhbmNlV2l0aFVJNTxUZW1wbGF0ZUNvbXBvbmVudD4pO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGUgcHJveHkgbWV0aG9kcyB0byBmb3J3YXJkIGNhbGxzIHRvIHRoZSBjb250ZW50IGZvciB0aGUgZ2l2ZW4gbWV0aG9kcy5cblx0ICogQHBhcmFtIG1ldGhvZHMgVGhlIG1ldGhvZCB0byBwcm94eVxuXHQgKi9cblx0Y3JlYXRlUHJveHlNZXRob2RzKG1ldGhvZHM6IHN0cmluZ1tdKTogdm9pZCB7XG5cdFx0Zm9yIChjb25zdCBtZXRob2Qgb2YgbWV0aG9kcykge1xuXHRcdFx0KHRoaXMgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCBGdW5jdGlvbj4pW21ldGhvZF0gPSAoLi4uYXJnczogdW5rbm93bltdKTogdW5rbm93biA9PiB7XG5cdFx0XHRcdHJldHVybiAodGhpcy5jb250ZW50IGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgRnVuY3Rpb24+KT8uW21ldGhvZF0/LiguLi5hcmdzKTtcblx0XHRcdH07XG5cdFx0fVxuXHR9XG5cblx0c2V0UHJvcGVydHkocHJvcGVydHlLZXk6IHN0cmluZywgcHJvcGVydHlWYWx1ZTogc3RyaW5nLCBiU3VwcHJlc3NJbnZhbGlkYXRlPzogYm9vbGVhbik6IHRoaXMge1xuXHRcdGlmIChcblx0XHRcdCF0aGlzLl9hcHBseWluZ1NldHRpbmdzICYmXG5cdFx0XHRwcm9wZXJ0eVZhbHVlICE9PSB1bmRlZmluZWQgJiZcblx0XHRcdE9iamVjdC5rZXlzKHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRQcm9wZXJ0aWVzKCkpLmluY2x1ZGVzKHByb3BlcnR5S2V5KVxuXHRcdCkge1xuXHRcdFx0c3VwZXIuc2V0UHJvcGVydHkocHJvcGVydHlLZXksIHByb3BlcnR5VmFsdWUsIHRydWUpO1xuXHRcdFx0dGhpcy5fY3JlYXRlQ29udGVudCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdXBlci5zZXRQcm9wZXJ0eShwcm9wZXJ0eUtleSwgcHJvcGVydHlWYWx1ZSwgYlN1cHByZXNzSW52YWxpZGF0ZSk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0c2V0QWdncmVnYXRpb24ocHJvcGVydHlLZXk6IHN0cmluZywgYWdncmVnYXRpb25PYmplY3Q6IE1hbmFnZWRPYmplY3QsIGJTdXBwcmVzc0ludmFsaWRhdGU/OiBib29sZWFuKTogdGhpcyB7XG5cdFx0aWYgKCF0aGlzLl9hcHBseWluZ1NldHRpbmdzICYmIE9iamVjdC5rZXlzKHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBZ2dyZWdhdGlvbnMoKSkuaW5jbHVkZXMocHJvcGVydHlLZXkpKSB7XG5cdFx0XHRzdXBlci5zZXRBZ2dyZWdhdGlvbihwcm9wZXJ0eUtleSwgYWdncmVnYXRpb25PYmplY3QsIHRydWUpO1xuXHRcdFx0dGhpcy5fY3JlYXRlQ29udGVudCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdXBlci5zZXRBZ2dyZWdhdGlvbihwcm9wZXJ0eUtleSwgYWdncmVnYXRpb25PYmplY3QsIGJTdXBwcmVzc0ludmFsaWRhdGUpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHJlbW92ZUFnZ3JlZ2F0aW9uKFxuXHRcdGFnZ3JlZ2F0aW9uTmFtZTogc3RyaW5nLFxuXHRcdG9iamVjdDogTWFuYWdlZE9iamVjdCB8IG51bWJlciB8IHN0cmluZyxcblx0XHRzdXBwcmVzc0ludmFsaWRhdGU/OiBib29sZWFuXG5cdCk6IE1hbmFnZWRPYmplY3QgfCBudWxsIHtcblx0XHRsZXQgcmVtb3ZlZDogTWFuYWdlZE9iamVjdCB8IG51bGw7XG5cdFx0aWYgKFxuXHRcdFx0IXRoaXMuX2FwcGx5aW5nU2V0dGluZ3MgJiZcblx0XHRcdG9iamVjdCAhPT0gdW5kZWZpbmVkICYmXG5cdFx0XHRPYmplY3Qua2V5cyh0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWdncmVnYXRpb25zKCkpLmluY2x1ZGVzKGFnZ3JlZ2F0aW9uTmFtZSlcblx0XHQpIHtcblx0XHRcdHJlbW92ZWQgPSBzdXBlci5yZW1vdmVBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbk5hbWUsIG9iamVjdCwgc3VwcHJlc3NJbnZhbGlkYXRlKTtcblx0XHRcdHRoaXMuX2NyZWF0ZUNvbnRlbnQoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVtb3ZlZCA9IHN1cGVyLnJlbW92ZUFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZSwgb2JqZWN0LCBzdXBwcmVzc0ludmFsaWRhdGUpO1xuXHRcdH1cblx0XHRyZXR1cm4gcmVtb3ZlZDtcblx0fVxuXG5cdGFkZEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZTogc3RyaW5nLCBvYmplY3Q6IE1hbmFnZWRPYmplY3QsIHN1cHByZXNzSW52YWxpZGF0ZT86IGJvb2xlYW4pOiB0aGlzIHtcblx0XHRpZiAoIXRoaXMuX2FwcGx5aW5nU2V0dGluZ3MgJiYgT2JqZWN0LmtleXModGhpcy5nZXRNZXRhZGF0YSgpLmdldEFnZ3JlZ2F0aW9ucygpKS5pbmNsdWRlcyhhZ2dyZWdhdGlvbk5hbWUpKSB7XG5cdFx0XHRzdXBlci5hZGRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbk5hbWUsIG9iamVjdCwgc3VwcHJlc3NJbnZhbGlkYXRlKTtcblx0XHRcdHRoaXMuX2NyZWF0ZUNvbnRlbnQoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VwZXIuYWRkQWdncmVnYXRpb24oYWdncmVnYXRpb25OYW1lLCBvYmplY3QsIHN1cHByZXNzSW52YWxpZGF0ZSk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0aW5zZXJ0QWdncmVnYXRpb24oYWdncmVnYXRpb25OYW1lOiBzdHJpbmcsIG9iamVjdDogTWFuYWdlZE9iamVjdCwgaW5kZXg6IG51bWJlciwgc3VwcHJlc3NJbnZhbGlkYXRlPzogYm9vbGVhbik6IHRoaXMge1xuXHRcdGlmICghdGhpcy5fYXBwbHlpbmdTZXR0aW5ncyAmJiBPYmplY3Qua2V5cyh0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWdncmVnYXRpb25zKCkpLmluY2x1ZGVzKGFnZ3JlZ2F0aW9uTmFtZSkpIHtcblx0XHRcdHN1cGVyLmluc2VydEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZSwgb2JqZWN0LCBpbmRleCwgc3VwcHJlc3NJbnZhbGlkYXRlKTtcblx0XHRcdHRoaXMuX2NyZWF0ZUNvbnRlbnQoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VwZXIuaW5zZXJ0QWdncmVnYXRpb24oYWdncmVnYXRpb25OYW1lLCBvYmplY3QsIGluZGV4LCBzdXBwcmVzc0ludmFsaWRhdGUpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGFzeW5jIGNyZWF0ZUNvbnRlbnQob3duZXI6IEVuaGFuY2VXaXRoVUk1PFRlbXBsYXRlQ29tcG9uZW50Pik6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0aGlzLmNvbnRlbnRDcmVhdGVkKSB7XG5cdFx0XHRhd2FpdCB0aGlzLmNvbnRlbnRDcmVhdGVkO1xuXHRcdH1cblx0XHQvLyBPbmx5IHNwZWNpYWwgYnVpbGRpbmcgYmxvY2sgd2lsbCBpbXBsZW1lbnQgdGhpc1xuXHRcdGNvbnN0IHByZXByb2Nlc3NvckNvbnRleHQgPSBvd25lci5nZXRQcmVwcm9jZXNzb3JDb250ZXh0KCkgPz8ge1xuXHRcdFx0bW9kZWxzOiB7fSxcblx0XHRcdGJpbmRpbmdDb250ZXh0czoge31cblx0XHR9O1xuXG5cdFx0Y29uc3QgbWV0YWRhdGEgPSB0aGlzLmdldE1ldGFkYXRhKCk7XG5cdFx0Y29uc3QgYmJNZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEuYnVpbGRpbmdCbG9ja01ldGFkYXRhIGFzIEJ1aWxkaW5nQmxvY2tNZXRhZGF0YSB8IHVuZGVmaW5lZDtcblx0XHRpZiAoYmJNZXRhZGF0YSkge1xuXHRcdFx0Y29uc3QgbmFtZXNwYWNlID0gYmJNZXRhZGF0YS5wdWJsaWNOYW1lc3BhY2UgPz8gYmJNZXRhZGF0YS5uYW1lc3BhY2U7XG5cdFx0XHRjb25zdCBuYW1lID0gYmJNZXRhZGF0YS5uYW1lO1xuXHRcdFx0Y29uc3QgZnFuTmFtZSA9IGAke21ldGFkYXRhLmdldE5hbWUoKX1gLnJlcGxhY2VBbGwoXCIuXCIsIFwiL1wiKTtcblx0XHRcdGNvbnN0IHhtbFByb3BlcnRpZXM6IHN0cmluZ1tdID0gW107XG5cdFx0XHRjb25zdCB4bWxBZ2dyZWdhdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdFx0XHRjb25zdCBhbGxBZ2dyZWdhdGlvbnMgPSBiYk1ldGFkYXRhLmFnZ3JlZ2F0aW9ucztcblxuXHRcdFx0Zm9yIChjb25zdCBwcm9wZXJ0aWVzS2V5IGluIGJiTWV0YWRhdGEucHJvcGVydGllcykge1xuXHRcdFx0XHRsZXQgcHJvcGVydHlWYWx1ZSA9IHRoaXNbcHJvcGVydGllc0tleSBhcyBrZXlvZiB0aGlzXSBhcyB1bmtub3duO1xuXHRcdFx0XHRsZXQgcHJvcGVydHlWYWx1ZU9iamVjdCA9IHByb3BlcnR5VmFsdWUgYXMgQmFzZU9iamVjdDtcblx0XHRcdFx0aWYgKHByb3BlcnR5VmFsdWVPYmplY3Q/Lmhhc093blByb3BlcnR5Py4oXCJwYXRoXCIpICYmIHByb3BlcnR5VmFsdWVPYmplY3Q/Lmhhc093blByb3BlcnR5Py4oXCJtb2RlbFwiKSkge1xuXHRcdFx0XHRcdHByb3BlcnR5VmFsdWVPYmplY3QgPSB0aGlzLmdldE1vZGVsKChwcm9wZXJ0eVZhbHVlT2JqZWN0IGFzIFByb3BlcnR5QmluZGluZ0luZm8pLm1vZGVsKT8uZ2V0T2JqZWN0KFxuXHRcdFx0XHRcdFx0KHByb3BlcnR5VmFsdWVPYmplY3QgYXMgUHJvcGVydHlCaW5kaW5nSW5mbykucGF0aFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKGJiTWV0YWRhdGEucHJvcGVydGllc1twcm9wZXJ0aWVzS2V5XS50eXBlID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdFx0XHR4bWxQcm9wZXJ0aWVzLnB1c2goeG1sYCR7cHJvcGVydGllc0tleX09XCJUSElTLl9maXJlRXZlbnQoJGV2ZW50LCAkY29udHJvbGxlciwgJyR7cHJvcGVydGllc0tleX0nKVwiYCk7XG5cdFx0XHRcdH0gZWxzZSBpZiAoXG5cdFx0XHRcdFx0cHJvcGVydHlWYWx1ZU9iamVjdD8uaXNBICYmXG5cdFx0XHRcdFx0cHJvcGVydHlWYWx1ZU9iamVjdC5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdGNvbnN0IHhtbEFnZ3JlZ2F0aW9uID0gcHJvcGVydHlWYWx1ZU9iamVjdC5zZXJpYWxpemUoYGZlQkI6JHtwcm9wZXJ0aWVzS2V5fWApO1xuXHRcdFx0XHRcdHhtbEFnZ3JlZ2F0aW9ucy5wdXNoKHhtbEFnZ3JlZ2F0aW9uKTtcblx0XHRcdFx0fSBlbHNlIGlmIChiYk1ldGFkYXRhLnByb3BlcnRpZXNbcHJvcGVydGllc0tleV0udHlwZSA9PT0gXCJhcnJheVwiKSB7XG5cdFx0XHRcdFx0YWxsQWdncmVnYXRpb25zW3Byb3BlcnRpZXNLZXldID0gYmJNZXRhZGF0YS5wcm9wZXJ0aWVzW3Byb3BlcnRpZXNLZXldO1xuXHRcdFx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0XHRcdHByb3BlcnR5VmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuXHRcdFx0XHRcdHByb3BlcnR5VmFsdWUgIT09IG51bGwgJiZcblx0XHRcdFx0XHQodHlwZW9mIHByb3BlcnR5VmFsdWUgIT09IFwib2JqZWN0XCIgfHwgT2JqZWN0LmtleXMocHJvcGVydHlWYWx1ZSkubGVuZ3RoID4gMClcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0aWYgKGlzQ29udGV4dChwcm9wZXJ0eVZhbHVlKSkge1xuXHRcdFx0XHRcdFx0cHJvcGVydHlWYWx1ZSA9IHByb3BlcnR5VmFsdWUuZ2V0UGF0aCgpO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAocHJvcGVydGllc0tleSA9PT0gXCJpZFwiKSB7XG5cdFx0XHRcdFx0XHR4bWxQcm9wZXJ0aWVzLnB1c2goeG1sYCR7cHJvcGVydGllc0tleX09XCIke3Byb3BlcnR5VmFsdWV9LWJsb2NrXCJgKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0eG1sUHJvcGVydGllcy5wdXNoKHhtbGAke3Byb3BlcnRpZXNLZXl9PVwiJHtwcm9wZXJ0eVZhbHVlfVwiYCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRmb3IgKGNvbnN0IGFnZ3JlZ2F0aW9uS2V5IGluIGFsbEFnZ3JlZ2F0aW9ucykge1xuXHRcdFx0XHRjb25zdCBfYWdncmVnYXRpb25WYWx1ZSA9IHRoaXNbYWdncmVnYXRpb25LZXkgYXMga2V5b2YgdGhpc10gYXMgdW5rbm93biBhcyBVSTVFbGVtZW50IHwgVUk1RWxlbWVudFtdIHwgbnVsbDtcblx0XHRcdFx0aWYgKF9hZ2dyZWdhdGlvblZhbHVlICYmICghQXJyYXkuaXNBcnJheShfYWdncmVnYXRpb25WYWx1ZSkgfHwgX2FnZ3JlZ2F0aW9uVmFsdWU/Lmxlbmd0aCA+IDApKSB7XG5cdFx0XHRcdFx0Y29uc3QgYWdncmVnYXRpb25DaGlsZHJlbjogc3RyaW5nW10gPSBbXTtcblx0XHRcdFx0XHRpZiAoQXJyYXkuaXNBcnJheShfYWdncmVnYXRpb25WYWx1ZSkpIHtcblx0XHRcdFx0XHRcdGZvciAoY29uc3QgYWdncmVnYXRpb25DaGlsZCBvZiBfYWdncmVnYXRpb25WYWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRpZiAoYWdncmVnYXRpb25DaGlsZC5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpKVxuXHRcdFx0XHRcdFx0XHRcdGFnZ3JlZ2F0aW9uQ2hpbGRyZW4ucHVzaChhZ2dyZWdhdGlvbkNoaWxkLnNlcmlhbGl6ZSgpKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9IGVsc2UgaWYgKF9hZ2dyZWdhdGlvblZhbHVlLmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRcdGFnZ3JlZ2F0aW9uQ2hpbGRyZW4ucHVzaChfYWdncmVnYXRpb25WYWx1ZS5zZXJpYWxpemUoKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGNvbnN0IHhtbEFnZ3JlZ2F0aW9uID0gYDxmZUJCOiR7YWdncmVnYXRpb25LZXl9PiR7YWdncmVnYXRpb25DaGlsZHJlbi5qb2luKFwiXFxuXCIpfTwvZmVCQjoke2FnZ3JlZ2F0aW9uS2V5fT5gO1xuXG5cdFx0XHRcdFx0eG1sQWdncmVnYXRpb25zLnB1c2goeG1sQWdncmVnYXRpb24pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBmcmFnbWVudCA9IGF3YWl0IFhNTFByZXByb2Nlc3Nvci5wcm9jZXNzKFxuXHRcdFx0XHRwYXJzZVhNTFN0cmluZyhcblx0XHRcdFx0XHR4bWxgPHJvb3Q+PGZlQkI6JHtuYW1lfVxuXHRcdFx0eG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCJcblx0XHRcdHhtbG5zOmZlQkI9XCIke25hbWVzcGFjZX1cIlxuXHRcdFx0JHt4bWxQcm9wZXJ0aWVzLmxlbmd0aCA+IDAgPyB4bWxQcm9wZXJ0aWVzIDogXCJcIn1cblx0XHRcdGNvcmU6cmVxdWlyZT1cIntUSElTOiAnJHtmcW5OYW1lfSd9XCJcblx0XHRcdD4ke3htbEFnZ3JlZ2F0aW9ucy5sZW5ndGggPiAwID8geG1sQWdncmVnYXRpb25zIDogXCJcIn08L2ZlQkI6JHtuYW1lfT48L3Jvb3Q+YCxcblx0XHRcdFx0XHR0cnVlXG5cdFx0XHRcdClbMF0sXG5cdFx0XHRcdHsgbW9kZWxzOiB7fSB9LFxuXHRcdFx0XHRwcmVwcm9jZXNzb3JDb250ZXh0XG5cdFx0XHQpO1xuXHRcdFx0aWYgKGZyYWdtZW50LmZpcnN0RWxlbWVudENoaWxkKSB7XG5cdFx0XHRcdHRoaXMuY29udGVudD8uZGVzdHJveSgpO1xuXHRcdFx0XHR0aGlzLmNvbnRlbnQgPSBhd2FpdCBvd25lci5ydW5Bc093bmVyKGFzeW5jICgpID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gRnJhZ21lbnQubG9hZCh7XG5cdFx0XHRcdFx0XHRkZWZpbml0aW9uOiBmcmFnbWVudC5maXJzdEVsZW1lbnRDaGlsZCBhcyBFbGVtZW50LFxuXHRcdFx0XHRcdFx0Y29udHJvbGxlcjogb3duZXIuZ2V0Um9vdENvbnRyb2xsZXIoKVxuXHRcdFx0XHRcdH0pIGFzIFByb21pc2U8Q29udHJvbD47XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7RUFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQVBBLElBU3FCQSwyQkFBMkIsSUFBQUMsSUFBQSxHQUQvQ0MsY0FBYyxDQUFDLG9EQUFvRCxDQUFDLEVBQUFELElBQUEsQ0FBQUUsTUFBQSwwQkFBQUMsY0FBQTtJQUFBLFNBQUFKLDRCQUFBO01BQUEsT0FBQUksY0FBQSxDQUFBQyxLQUFBLE9BQUFDLFNBQUE7SUFBQTtJQUFBQyxRQUFBLEdBQUFQLDJCQUFBO0lBQUFRLGNBQUEsQ0FBQVIsMkJBQUEsRUFBQUksY0FBQTtJQUFBLElBQUFLLE1BQUEsR0FBQVQsMkJBQUEsQ0FBQVUsU0FBQTtJQUFBRCxNQUFBLENBTXBFRSxtQkFBbUIsR0FBbkIsU0FBQUEsbUJBQW1CQSxDQUFBLEVBQVM7TUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQ0MsT0FBTyxFQUFFO1FBQ2xCLElBQUksQ0FBQ0MsY0FBYyxDQUFDLENBQUM7TUFDdEI7SUFDRCxDQUFDO0lBQUFKLE1BQUEsQ0FFREksY0FBYyxHQUFkLFNBQUFBLGNBQWNBLENBQUEsRUFBUztNQUN0QixNQUFNQyxLQUFLLEdBQUcsSUFBSSxDQUFDQyxTQUFTLENBQUMsQ0FBQztNQUM5QixJQUFJRCxLQUFLLEVBQUVFLEdBQUcsQ0FBb0IsK0JBQStCLENBQUMsRUFBRTtRQUNuRSxJQUFJLENBQUNDLGNBQWMsR0FBRyxJQUFJLENBQUNDLGFBQWEsQ0FBQ0osS0FBMEMsQ0FBQztNQUNyRjtJQUNEOztJQUVBO0FBQ0Q7QUFDQTtBQUNBLE9BSEM7SUFBQUwsTUFBQSxDQUlBVSxrQkFBa0IsR0FBbEIsU0FBQUEsa0JBQWtCQSxDQUFDQyxPQUFpQixFQUFRO01BQUEsSUFBQUMsS0FBQTtNQUMzQyxLQUFLLE1BQU1DLE1BQU0sSUFBSUYsT0FBTyxFQUFFO1FBQzVC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
184
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrV2l0aFRlbXBsYXRpbmciLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfQnVpbGRpbmdCbG9jayIsImFwcGx5IiwiYXJndW1lbnRzIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsIm9uTWV0YWRhdGFBdmFpbGFibGUiLCJjb250ZW50IiwiX2NyZWF0ZUNvbnRlbnQiLCJvd25lciIsIl9nZXRPd25lciIsImlzQSIsImNvbnRlbnRDcmVhdGVkIiwiY3JlYXRlQ29udGVudCIsImNyZWF0ZVByb3h5TWV0aG9kcyIsIm1ldGhvZHMiLCJfdGhpcyIsIm1ldGhvZCIsIl9sZW4iLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5Iiwic2V0UHJvcGVydHkiLCJwcm9wZXJ0eUtleSIsInByb3BlcnR5VmFsdWUiLCJiU3VwcHJlc3NJbnZhbGlkYXRlIiwiX2FwcGx5aW5nU2V0dGluZ3MiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0TWV0YWRhdGEiLCJnZXRQcm9wZXJ0aWVzIiwiaW5jbHVkZXMiLCJjYWxsIiwic2V0QWdncmVnYXRpb24iLCJhZ2dyZWdhdGlvbk9iamVjdCIsImdldEFnZ3JlZ2F0aW9ucyIsInJlbW92ZUFnZ3JlZ2F0aW9uIiwiYWdncmVnYXRpb25OYW1lIiwib2JqZWN0Iiwic3VwcHJlc3NJbnZhbGlkYXRlIiwicmVtb3ZlZCIsImFkZEFnZ3JlZ2F0aW9uIiwiaW5zZXJ0QWdncmVnYXRpb24iLCJpbmRleCIsInByZXByb2Nlc3NvckNvbnRleHQiLCJnZXRQcmVwcm9jZXNzb3JDb250ZXh0IiwibW9kZWxzIiwiYmluZGluZ0NvbnRleHRzIiwibWV0YWRhdGEiLCJiYk1ldGFkYXRhIiwiYnVpbGRpbmdCbG9ja01ldGFkYXRhIiwibmFtZXNwYWNlIiwicHVibGljTmFtZXNwYWNlIiwibmFtZSIsImZxbk5hbWUiLCJnZXROYW1lIiwicmVwbGFjZUFsbCIsInhtbFByb3BlcnRpZXMiLCJ4bWxBZ2dyZWdhdGlvbnMiLCJhbGxBZ2dyZWdhdGlvbnMiLCJhZ2dyZWdhdGlvbnMiLCJwcm9wZXJ0aWVzS2V5IiwicHJvcGVydGllcyIsInByb3BlcnR5VmFsdWVPYmplY3QiLCJoYXNPd25Qcm9wZXJ0eSIsImdldE1vZGVsIiwibW9kZWwiLCJnZXRPYmplY3QiLCJwYXRoIiwidHlwZSIsInB1c2giLCJ4bWwiLCJ4bWxBZ2dyZWdhdGlvbiIsInNlcmlhbGl6ZSIsImlzQ29udGV4dCIsImdldFBhdGgiLCJhZ2dyZWdhdGlvbktleSIsIl9hZ2dyZWdhdGlvblZhbHVlIiwiaXNBcnJheSIsImFnZ3JlZ2F0aW9uQ2hpbGRyZW4iLCJhZ2dyZWdhdGlvbkNoaWxkIiwiam9pbiIsImZyYWdtZW50IiwiWE1MUHJlcHJvY2Vzc29yIiwicHJvY2VzcyIsInBhcnNlWE1MU3RyaW5nIiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJkZXN0cm95IiwicnVuQXNPd25lciIsIkZyYWdtZW50IiwibG9hZCIsImRlZmluaXRpb24iLCJjb250cm9sbGVyIiwiZ2V0Um9vdENvbnRyb2xsZXIiLCJCdWlsZGluZ0Jsb2NrIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJCdWlsZGluZ0Jsb2NrV2l0aFRlbXBsYXRpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbmhhbmNlV2l0aFVJNSwgVUk1Q29udHJvbE1ldGFkYXRhRGVmaW5pdGlvbiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgVGVtcGxhdGVDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL1RlbXBsYXRlQ29tcG9uZW50XCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1wiO1xuaW1wb3J0IHR5cGUgeyBCdWlsZGluZ0Jsb2NrTWV0YWRhdGEgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvdGVtcGxhdGluZy9CdWlsZGluZ0Jsb2NrU3VwcG9ydFwiO1xuaW1wb3J0IHsgcGFyc2VYTUxTdHJpbmcsIHhtbCB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy90ZW1wbGF0aW5nL0J1aWxkaW5nQmxvY2tUZW1wbGF0ZVByb2Nlc3NvclwiO1xuaW1wb3J0IHsgaXNDb250ZXh0IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IHR5cGUgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL0J1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eUJpbmRpbmdJbmZvIH0gZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIEJhc2VPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL09iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgVUk1RWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IEZyYWdtZW50IGZyb20gXCJzYXAvdWkvY29yZS9GcmFnbWVudFwiO1xuaW1wb3J0IFhNTFByZXByb2Nlc3NvciBmcm9tIFwic2FwL3VpL2NvcmUvdXRpbC9YTUxQcmVwcm9jZXNzb3JcIjtcblxuLyoqXG4gKiBVc2luZyB0aGlzIGNsYXNzIHlvdSBjYW4gZGVmaW5lIGEgYnVpbGRpbmcgYmxvY2sgdGhhdCB3aWxsIG1hbmFnZSBhbmQgcmVuZGVyIGEgdGVtcGxhdGluZyBiYXNlZCBidWlsZGluZyBibG9jay5cbiAqIE9uIGNoYW5nZSBvZiB0aGUgbWFpbiBwcm9wZXJ0aWVzIHlvdSB3aWxsIGJlIGFibGUgdG8gcmVjcmVhdGUgdGhlIGNvbnRlbnQuXG4gKiBAcHVibGljXG4gKiBAdWk1LWV4cGVyaW1lbnRhbC1zaW5jZVxuICogQGRlcHJlY2F0ZWRcbiAqIEBkZXByZWNhdGVkc2luY2UgMS4xNDBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrV2l0aFRlbXBsYXRpbmdcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJ1aWxkaW5nQmxvY2tXaXRoVGVtcGxhdGluZyBleHRlbmRzIEJ1aWxkaW5nQmxvY2s8Q29udHJvbD4ge1xuXHRwdWJsaWMgY29udGVudENyZWF0ZWQ/OiBQcm9taXNlPHZvaWQ+O1xuXG5cdHByaXZhdGUgbWV0YWRhdGEhOiBVSTVDb250cm9sTWV0YWRhdGFEZWZpbml0aW9uO1xuXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmNvbnRlbnQpIHtcblx0XHRcdHRoaXMuX2NyZWF0ZUNvbnRlbnQoKTtcblx0XHR9XG5cdH1cblxuXHRfY3JlYXRlQ29udGVudCgpOiB2b2lkIHtcblx0XHRjb25zdCBvd25lciA9IHRoaXMuX2dldE93bmVyKCk7XG5cdFx0aWYgKG93bmVyPy5pc0E8VGVtcGxhdGVDb21wb25lbnQ+KFwic2FwLmZlLmNvcmUuVGVtcGxhdGVDb21wb25lbnRcIikpIHtcblx0XHRcdHRoaXMuY29udGVudENyZWF0ZWQgPSB0aGlzLmNyZWF0ZUNvbnRlbnQob3duZXIgYXMgRW5oYW5jZVdpdGhVSTU8VGVtcGxhdGVDb21wb25lbnQ+KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlIHByb3h5IG1ldGhvZHMgdG8gZm9yd2FyZCBjYWxscyB0byB0aGUgY29udGVudCBmb3IgdGhlIGdpdmVuIG1ldGhvZHMuXG5cdCAqIEBwYXJhbSBtZXRob2RzIFRoZSBtZXRob2QgdG8gcHJveHlcblx0ICovXG5cdGNyZWF0ZVByb3h5TWV0aG9kcyhtZXRob2RzOiBzdHJpbmdbXSk6IHZvaWQge1xuXHRcdGZvciAoY29uc3QgbWV0aG9kIG9mIG1ldGhvZHMpIHtcblx0XHRcdCh0aGlzIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgRnVuY3Rpb24+KVttZXRob2RdID0gKC4uLmFyZ3M6IHVua25vd25bXSk6IHVua25vd24gPT4ge1xuXHRcdFx0XHRyZXR1cm4gKHRoaXMuY29udGVudCBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uPik/LlttZXRob2RdPy4oLi4uYXJncyk7XG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuXG5cdHNldFByb3BlcnR5KHByb3BlcnR5S2V5OiBzdHJpbmcsIHByb3BlcnR5VmFsdWU6IHN0cmluZywgYlN1cHByZXNzSW52YWxpZGF0ZT86IGJvb2xlYW4pOiB0aGlzIHtcblx0XHRpZiAoXG5cdFx0XHQhdGhpcy5fYXBwbHlpbmdTZXR0aW5ncyAmJlxuXHRcdFx0cHJvcGVydHlWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXG5cdFx0XHRPYmplY3Qua2V5cyh0aGlzLmdldE1ldGFkYXRhKCkuZ2V0UHJvcGVydGllcygpKS5pbmNsdWRlcyhwcm9wZXJ0eUtleSlcblx0XHQpIHtcblx0XHRcdHN1cGVyLnNldFByb3BlcnR5KHByb3BlcnR5S2V5LCBwcm9wZXJ0eVZhbHVlLCB0cnVlKTtcblx0XHRcdHRoaXMuX2NyZWF0ZUNvbnRlbnQoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VwZXIuc2V0UHJvcGVydHkocHJvcGVydHlLZXksIHByb3BlcnR5VmFsdWUsIGJTdXBwcmVzc0ludmFsaWRhdGUpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHNldEFnZ3JlZ2F0aW9uKHByb3BlcnR5S2V5OiBzdHJpbmcsIGFnZ3JlZ2F0aW9uT2JqZWN0OiBNYW5hZ2VkT2JqZWN0LCBiU3VwcHJlc3NJbnZhbGlkYXRlPzogYm9vbGVhbik6IHRoaXMge1xuXHRcdGlmICghdGhpcy5fYXBwbHlpbmdTZXR0aW5ncyAmJiBPYmplY3Qua2V5cyh0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWdncmVnYXRpb25zKCkpLmluY2x1ZGVzKHByb3BlcnR5S2V5KSkge1xuXHRcdFx0c3VwZXIuc2V0QWdncmVnYXRpb24ocHJvcGVydHlLZXksIGFnZ3JlZ2F0aW9uT2JqZWN0LCB0cnVlKTtcblx0XHRcdHRoaXMuX2NyZWF0ZUNvbnRlbnQoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VwZXIuc2V0QWdncmVnYXRpb24ocHJvcGVydHlLZXksIGFnZ3JlZ2F0aW9uT2JqZWN0LCBiU3VwcHJlc3NJbnZhbGlkYXRlKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRyZW1vdmVBZ2dyZWdhdGlvbihcblx0XHRhZ2dyZWdhdGlvbk5hbWU6IHN0cmluZyxcblx0XHRvYmplY3Q6IE1hbmFnZWRPYmplY3QgfCBudW1iZXIgfCBzdHJpbmcsXG5cdFx0c3VwcHJlc3NJbnZhbGlkYXRlPzogYm9vbGVhblxuXHQpOiBNYW5hZ2VkT2JqZWN0IHwgbnVsbCB7XG5cdFx0bGV0IHJlbW92ZWQ6IE1hbmFnZWRPYmplY3QgfCBudWxsO1xuXHRcdGlmIChcblx0XHRcdCF0aGlzLl9hcHBseWluZ1NldHRpbmdzICYmXG5cdFx0XHRvYmplY3QgIT09IHVuZGVmaW5lZCAmJlxuXHRcdFx0T2JqZWN0LmtleXModGhpcy5nZXRNZXRhZGF0YSgpLmdldEFnZ3JlZ2F0aW9ucygpKS5pbmNsdWRlcyhhZ2dyZWdhdGlvbk5hbWUpXG5cdFx0KSB7XG5cdFx0XHRyZW1vdmVkID0gc3VwZXIucmVtb3ZlQWdncmVnYXRpb24oYWdncmVnYXRpb25OYW1lLCBvYmplY3QsIHN1cHByZXNzSW52YWxpZGF0ZSk7XG5cdFx0XHR0aGlzLl9jcmVhdGVDb250ZW50KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlbW92ZWQgPSBzdXBlci5yZW1vdmVBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbk5hbWUsIG9iamVjdCwgc3VwcHJlc3NJbnZhbGlkYXRlKTtcblx0XHR9XG5cdFx0cmV0dXJuIHJlbW92ZWQ7XG5cdH1cblxuXHRhZGRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbk5hbWU6IHN0cmluZywgb2JqZWN0OiBNYW5hZ2VkT2JqZWN0LCBzdXBwcmVzc0ludmFsaWRhdGU/OiBib29sZWFuKTogdGhpcyB7XG5cdFx0aWYgKCF0aGlzLl9hcHBseWluZ1NldHRpbmdzICYmIE9iamVjdC5rZXlzKHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBZ2dyZWdhdGlvbnMoKSkuaW5jbHVkZXMoYWdncmVnYXRpb25OYW1lKSkge1xuXHRcdFx0c3VwZXIuYWRkQWdncmVnYXRpb24oYWdncmVnYXRpb25OYW1lLCBvYmplY3QsIHN1cHByZXNzSW52YWxpZGF0ZSk7XG5cdFx0XHR0aGlzLl9jcmVhdGVDb250ZW50KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHN1cGVyLmFkZEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZSwgb2JqZWN0LCBzdXBwcmVzc0ludmFsaWRhdGUpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGluc2VydEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZTogc3RyaW5nLCBvYmplY3Q6IE1hbmFnZWRPYmplY3QsIGluZGV4OiBudW1iZXIsIHN1cHByZXNzSW52YWxpZGF0ZT86IGJvb2xlYW4pOiB0aGlzIHtcblx0XHRpZiAoIXRoaXMuX2FwcGx5aW5nU2V0dGluZ3MgJiYgT2JqZWN0LmtleXModGhpcy5nZXRNZXRhZGF0YSgpLmdldEFnZ3JlZ2F0aW9ucygpKS5pbmNsdWRlcyhhZ2dyZWdhdGlvbk5hbWUpKSB7XG5cdFx0XHRzdXBlci5pbnNlcnRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbk5hbWUsIG9iamVjdCwgaW5kZXgsIHN1cHByZXNzSW52YWxpZGF0ZSk7XG5cdFx0XHR0aGlzLl9jcmVhdGVDb250ZW50KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHN1cGVyLmluc2VydEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZSwgb2JqZWN0LCBpbmRleCwgc3VwcHJlc3NJbnZhbGlkYXRlKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRhc3luYyBjcmVhdGVDb250ZW50KG93bmVyOiBFbmhhbmNlV2l0aFVJNTxUZW1wbGF0ZUNvbXBvbmVudD4pOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAodGhpcy5jb250ZW50Q3JlYXRlZCkge1xuXHRcdFx0YXdhaXQgdGhpcy5jb250ZW50Q3JlYXRlZDtcblx0XHR9XG5cdFx0Ly8gT25seSBzcGVjaWFsIGJ1aWxkaW5nIGJsb2NrIHdpbGwgaW1wbGVtZW50IHRoaXNcblx0XHRjb25zdCBwcmVwcm9jZXNzb3JDb250ZXh0ID0gb3duZXIuZ2V0UHJlcHJvY2Vzc29yQ29udGV4dCgpID8/IHtcblx0XHRcdG1vZGVsczoge30sXG5cdFx0XHRiaW5kaW5nQ29udGV4dHM6IHt9XG5cdFx0fTtcblxuXHRcdGNvbnN0IG1ldGFkYXRhID0gdGhpcy5nZXRNZXRhZGF0YSgpO1xuXHRcdGNvbnN0IGJiTWV0YWRhdGEgPSB0aGlzLm1ldGFkYXRhLmJ1aWxkaW5nQmxvY2tNZXRhZGF0YSBhcyBCdWlsZGluZ0Jsb2NrTWV0YWRhdGEgfCB1bmRlZmluZWQ7XG5cdFx0aWYgKGJiTWV0YWRhdGEpIHtcblx0XHRcdGNvbnN0IG5hbWVzcGFjZSA9IGJiTWV0YWRhdGEucHVibGljTmFtZXNwYWNlID8/IGJiTWV0YWRhdGEubmFtZXNwYWNlO1xuXHRcdFx0Y29uc3QgbmFtZSA9IGJiTWV0YWRhdGEubmFtZTtcblx0XHRcdGNvbnN0IGZxbk5hbWUgPSBgJHttZXRhZGF0YS5nZXROYW1lKCl9YC5yZXBsYWNlQWxsKFwiLlwiLCBcIi9cIik7XG5cdFx0XHRjb25zdCB4bWxQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdFx0Y29uc3QgeG1sQWdncmVnYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHRcdFx0Y29uc3QgYWxsQWdncmVnYXRpb25zID0gYmJNZXRhZGF0YS5hZ2dyZWdhdGlvbnM7XG5cblx0XHRcdGZvciAoY29uc3QgcHJvcGVydGllc0tleSBpbiBiYk1ldGFkYXRhLnByb3BlcnRpZXMpIHtcblx0XHRcdFx0bGV0IHByb3BlcnR5VmFsdWUgPSB0aGlzW3Byb3BlcnRpZXNLZXkgYXMga2V5b2YgdGhpc10gYXMgdW5rbm93bjtcblx0XHRcdFx0bGV0IHByb3BlcnR5VmFsdWVPYmplY3QgPSBwcm9wZXJ0eVZhbHVlIGFzIEJhc2VPYmplY3Q7XG5cdFx0XHRcdGlmIChwcm9wZXJ0eVZhbHVlT2JqZWN0Py5oYXNPd25Qcm9wZXJ0eT8uKFwicGF0aFwiKSAmJiBwcm9wZXJ0eVZhbHVlT2JqZWN0Py5oYXNPd25Qcm9wZXJ0eT8uKFwibW9kZWxcIikpIHtcblx0XHRcdFx0XHRwcm9wZXJ0eVZhbHVlT2JqZWN0ID0gdGhpcy5nZXRNb2RlbCgocHJvcGVydHlWYWx1ZU9iamVjdCBhcyBQcm9wZXJ0eUJpbmRpbmdJbmZvKS5tb2RlbCk/LmdldE9iamVjdChcblx0XHRcdFx0XHRcdChwcm9wZXJ0eVZhbHVlT2JqZWN0IGFzIFByb3BlcnR5QmluZGluZ0luZm8pLnBhdGhcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChiYk1ldGFkYXRhLnByb3BlcnRpZXNbcHJvcGVydGllc0tleV0udHlwZSA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRcdFx0eG1sUHJvcGVydGllcy5wdXNoKHhtbGAke3Byb3BlcnRpZXNLZXl9PVwiVEhJUy5fZmlyZUV2ZW50KCRldmVudCwgJGNvbnRyb2xsZXIsICcke3Byb3BlcnRpZXNLZXl9JylcImApO1xuXHRcdFx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0XHRcdHByb3BlcnR5VmFsdWVPYmplY3Q/LmlzQSAmJlxuXHRcdFx0XHRcdHByb3BlcnR5VmFsdWVPYmplY3QuaXNBPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4oXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiKVxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRjb25zdCB4bWxBZ2dyZWdhdGlvbiA9IHByb3BlcnR5VmFsdWVPYmplY3Quc2VyaWFsaXplKGBmZUJCOiR7cHJvcGVydGllc0tleX1gKTtcblx0XHRcdFx0XHR4bWxBZ2dyZWdhdGlvbnMucHVzaCh4bWxBZ2dyZWdhdGlvbik7XG5cdFx0XHRcdH0gZWxzZSBpZiAoYmJNZXRhZGF0YS5wcm9wZXJ0aWVzW3Byb3BlcnRpZXNLZXldLnR5cGUgPT09IFwiYXJyYXlcIikge1xuXHRcdFx0XHRcdGFsbEFnZ3JlZ2F0aW9uc1twcm9wZXJ0aWVzS2V5XSA9IGJiTWV0YWRhdGEucHJvcGVydGllc1twcm9wZXJ0aWVzS2V5XTtcblx0XHRcdFx0fSBlbHNlIGlmIChcblx0XHRcdFx0XHRwcm9wZXJ0eVZhbHVlICE9PSB1bmRlZmluZWQgJiZcblx0XHRcdFx0XHRwcm9wZXJ0eVZhbHVlICE9PSBudWxsICYmXG5cdFx0XHRcdFx0KHR5cGVvZiBwcm9wZXJ0eVZhbHVlICE9PSBcIm9iamVjdFwiIHx8IE9iamVjdC5rZXlzKHByb3BlcnR5VmFsdWUpLmxlbmd0aCA+IDApXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdGlmIChpc0NvbnRleHQocHJvcGVydHlWYWx1ZSkpIHtcblx0XHRcdFx0XHRcdHByb3BlcnR5VmFsdWUgPSBwcm9wZXJ0eVZhbHVlLmdldFBhdGgoKTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHByb3BlcnRpZXNLZXkgPT09IFwiaWRcIikge1xuXHRcdFx0XHRcdFx0eG1sUHJvcGVydGllcy5wdXNoKHhtbGAke3Byb3BlcnRpZXNLZXl9PVwiJHtwcm9wZXJ0eVZhbHVlfS1ibG9ja1wiYCk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHhtbFByb3BlcnRpZXMucHVzaCh4bWxgJHtwcm9wZXJ0aWVzS2V5fT1cIiR7cHJvcGVydHlWYWx1ZX1cImApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Zm9yIChjb25zdCBhZ2dyZWdhdGlvbktleSBpbiBhbGxBZ2dyZWdhdGlvbnMpIHtcblx0XHRcdFx0Y29uc3QgX2FnZ3JlZ2F0aW9uVmFsdWUgPSB0aGlzW2FnZ3JlZ2F0aW9uS2V5IGFzIGtleW9mIHRoaXNdIGFzIHVua25vd24gYXMgVUk1RWxlbWVudCB8IFVJNUVsZW1lbnRbXSB8IG51bGw7XG5cdFx0XHRcdGlmIChfYWdncmVnYXRpb25WYWx1ZSAmJiAoIUFycmF5LmlzQXJyYXkoX2FnZ3JlZ2F0aW9uVmFsdWUpIHx8IF9hZ2dyZWdhdGlvblZhbHVlPy5sZW5ndGggPiAwKSkge1xuXHRcdFx0XHRcdGNvbnN0IGFnZ3JlZ2F0aW9uQ2hpbGRyZW46IHN0cmluZ1tdID0gW107XG5cdFx0XHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoX2FnZ3JlZ2F0aW9uVmFsdWUpKSB7XG5cdFx0XHRcdFx0XHRmb3IgKGNvbnN0IGFnZ3JlZ2F0aW9uQ2hpbGQgb2YgX2FnZ3JlZ2F0aW9uVmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0aWYgKGFnZ3JlZ2F0aW9uQ2hpbGQuaXNBPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4oXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiKSlcblx0XHRcdFx0XHRcdFx0XHRhZ2dyZWdhdGlvbkNoaWxkcmVuLnB1c2goYWdncmVnYXRpb25DaGlsZC5zZXJpYWxpemUoKSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChfYWdncmVnYXRpb25WYWx1ZS5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpKSB7XG5cdFx0XHRcdFx0XHRhZ2dyZWdhdGlvbkNoaWxkcmVuLnB1c2goX2FnZ3JlZ2F0aW9uVmFsdWUuc2VyaWFsaXplKCkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb25zdCB4bWxBZ2dyZWdhdGlvbiA9IGA8ZmVCQjoke2FnZ3JlZ2F0aW9uS2V5fT4ke2FnZ3JlZ2F0aW9uQ2hpbGRyZW4uam9pbihcIlxcblwiKX08L2ZlQkI6JHthZ2dyZWdhdGlvbktleX0+YDtcblxuXHRcdFx0XHRcdHhtbEFnZ3JlZ2F0aW9ucy5wdXNoKHhtbEFnZ3JlZ2F0aW9uKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Y29uc3QgZnJhZ21lbnQgPSBhd2FpdCBYTUxQcmVwcm9jZXNzb3IucHJvY2Vzcyhcblx0XHRcdFx0cGFyc2VYTUxTdHJpbmcoXG5cdFx0XHRcdFx0eG1sYDxyb290PjxmZUJCOiR7bmFtZX1cblx0XHRcdHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiXG5cdFx0XHR4bWxuczpmZUJCPVwiJHtuYW1lc3BhY2V9XCJcblx0XHRcdCR7eG1sUHJvcGVydGllcy5sZW5ndGggPiAwID8geG1sUHJvcGVydGllcyA6IFwiXCJ9XG5cdFx0XHRjb3JlOnJlcXVpcmU9XCJ7VEhJUzogJyR7ZnFuTmFtZX0nfVwiXG5cdFx0XHQ+JHt4bWxBZ2dyZWdhdGlvbnMubGVuZ3RoID4gMCA/IHhtbEFnZ3JlZ2F0aW9ucyA6IFwiXCJ9PC9mZUJCOiR7bmFtZX0+PC9yb290PmAsXG5cdFx0XHRcdFx0dHJ1ZVxuXHRcdFx0XHQpWzBdLFxuXHRcdFx0XHR7IG1vZGVsczoge30gfSxcblx0XHRcdFx0cHJlcHJvY2Vzc29yQ29udGV4dFxuXHRcdFx0KTtcblx0XHRcdGlmIChmcmFnbWVudC5maXJzdEVsZW1lbnRDaGlsZCkge1xuXHRcdFx0XHR0aGlzLmNvbnRlbnQ/LmRlc3Ryb3koKTtcblx0XHRcdFx0dGhpcy5jb250ZW50ID0gYXdhaXQgb3duZXIucnVuQXNPd25lcihhc3luYyAoKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIEZyYWdtZW50LmxvYWQoe1xuXHRcdFx0XHRcdFx0ZGVmaW5pdGlvbjogZnJhZ21lbnQuZmlyc3RFbGVtZW50Q2hpbGQgYXMgRWxlbWVudCxcblx0XHRcdFx0XHRcdGNvbnRyb2xsZXI6IG93bmVyLmdldFJvb3RDb250cm9sbGVyKClcblx0XHRcdFx0XHR9KSBhcyBQcm9taXNlPENvbnRyb2w+O1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0VBZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFQQSxJQVNxQkEsMkJBQTJCLElBQUFDLElBQUEsR0FEL0NDLGNBQWMsQ0FBQyxvREFBb0QsQ0FBQyxFQUFBRCxJQUFBLENBQUFFLE1BQUEsMEJBQUFDLGNBQUE7SUFBQSxTQUFBSiw0QkFBQTtNQUFBLE9BQUFJLGNBQUEsQ0FBQUMsS0FBQSxPQUFBQyxTQUFBO0lBQUE7SUFBQUMsUUFBQSxHQUFBUCwyQkFBQTtJQUFBUSxjQUFBLENBQUFSLDJCQUFBLEVBQUFJLGNBQUE7SUFBQSxJQUFBSyxNQUFBLEdBQUFULDJCQUFBLENBQUFVLFNBQUE7SUFBQUQsTUFBQSxDQU1wRUUsbUJBQW1CLEdBQW5CLFNBQUFBLG1CQUFtQkEsQ0FBQSxFQUFTO01BQzNCLElBQUksQ0FBQyxJQUFJLENBQUNDLE9BQU8sRUFBRTtRQUNsQixJQUFJLENBQUNDLGNBQWMsQ0FBQyxDQUFDO01BQ3RCO0lBQ0QsQ0FBQztJQUFBSixNQUFBLENBRURJLGNBQWMsR0FBZCxTQUFBQSxjQUFjQSxDQUFBLEVBQVM7TUFDdEIsTUFBTUMsS0FBSyxHQUFHLElBQUksQ0FBQ0MsU0FBUyxDQUFDLENBQUM7TUFDOUIsSUFBSUQsS0FBSyxFQUFFRSxHQUFHLENBQW9CLCtCQUErQixDQUFDLEVBQUU7UUFDbkUsSUFBSSxDQUFDQyxjQUFjLEdBQUcsSUFBSSxDQUFDQyxhQUFhLENBQUNKLEtBQTBDLENBQUM7TUFDckY7SUFDRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQSxPQUhDO0lBQUFMLE1BQUEsQ0FJQVUsa0JBQWtCLEdBQWxCLFNBQUFBLGtCQUFrQkEsQ0FBQ0MsT0FBaUIsRUFBUTtNQUFBLElBQUFDLEtBQUE7TUFDM0MsS0FBSyxNQUFNQyxNQUFNLElBQUlGLE9BQU8s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
@@ -18,7 +18,7 @@ import XMLPreprocessor from "sap/ui/core/util/XMLPreprocessor";
18
18
  * Using this class you can define a building block that will manage and render a templating based building block.
19
19
  * On change of the main properties you will be able to recreate the content.
20
20
  * @public
21
- * @experimental
21
+ * @ui5-experimental-since
22
22
  * @deprecated
23
23
  * @deprecatedsince 1.140
24
24
  */
@@ -5,7 +5,7 @@
5
5
  sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/macros/controls/filterbar/FilterContainer", "sap/fe/macros/controls/filterbar/VisualFilterContainer", "sap/ui/core/Element", "sap/ui/mdc/FilterBar", "sap/ui/mdc/filterbar/aligned/FilterItemLayout", "./filterbar/utils/VisualFilterUtils"], function (Log, ClassSupport, FilterContainer, VisualFilterContainer, Element, MdcFilterBar, FilterItemLayout, VisualFilterUtils) {
6
6
  "use strict";
7
7
 
8
- var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
8
+ var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor, _descriptor2, _descriptor3;
9
9
  var property = ClassSupport.property;
10
10
  var defineUI5Class = ClassSupport.defineUI5Class;
11
11
  var association = ClassSupport.association;
@@ -19,7 +19,10 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/macros/contro
19
19
  let FilterBar = (_dec = defineUI5Class("sap.fe.macros.controls.FilterBar"), _dec2 = property({
20
20
  type: "string",
21
21
  defaultValue: "compact"
22
- }), _dec3 = association({
22
+ }), _dec3 = property({
23
+ type: "boolean",
24
+ defaultValue: false
25
+ }), _dec4 = association({
23
26
  type: "sap.m.SegmentedButton",
24
27
  multiple: false
25
28
  }), _dec(_class = (_class2 = /*#__PURE__*/function (_MdcFilterBar) {
@@ -29,10 +32,11 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/macros/contro
29
32
  delete settings?.propertyInfo;
30
33
  _this = _MdcFilterBar.call(this, idOrProps, settings) || this;
31
34
  _initializerDefineProperty(_this, "initialLayout", _descriptor, _this);
35
+ _initializerDefineProperty(_this, "disableDraftEditStateFilter", _descriptor2, _this);
32
36
  /**
33
37
  * Control which allows for switching between visual and normal filter layouts
34
38
  */
35
- _initializerDefineProperty(_this, "toggleControl", _descriptor2, _this);
39
+ _initializerDefineProperty(_this, "toggleControl", _descriptor3, _this);
36
40
  _this._isInitialized = false;
37
41
  _this._initializeStatus();
38
42
  return _this;
@@ -222,7 +226,12 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/macros/contro
222
226
  enumerable: true,
223
227
  writable: true,
224
228
  initializer: null
225
- }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "toggleControl", [_dec3], {
229
+ }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "disableDraftEditStateFilter", [_dec3], {
230
+ configurable: true,
231
+ enumerable: true,
232
+ writable: true,
233
+ initializer: null
234
+ }), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "toggleControl", [_dec4], {
226
235
  configurable: true,
227
236
  enumerable: true,
228
237
  writable: true,
@@ -230,4 +239,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/macros/contro
230
239
  }), _class2)) || _class);
231
240
  return FilterBar;
232
241
  }, false);
233
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWSVNVQUxfRklMVEVSX0NPTlRBSU5FUiIsIkZJTFRFUl9DT05UQUlORVIiLCJGaWx0ZXJCYXIiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsImRlZmF1bHRWYWx1ZSIsIl9kZWMzIiwiYXNzb2NpYXRpb24iLCJtdWx0aXBsZSIsIl9jbGFzcyIsIl9jbGFzczIiLCJfTWRjRmlsdGVyQmFyIiwiaWRPclByb3BzIiwic2V0dGluZ3MiLCJfdGhpcyIsInByb3BlcnR5SW5mbyIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2lzSW5pdGlhbGl6ZWQiLCJfaW5pdGlhbGl6ZVN0YXR1cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwid2FpdEZvckluaXRpYWxpemF0aW9uIiwiaXNJbml0aWFsaXplZCIsInNldFRvZ2dsZUNvbnRyb2wiLCJ2VG9nZ2xlIiwiX29TZWdtZW50ZWRCdXR0b24iLCJFbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJ0b2dnbGVDb250cm9sIiwiZGV0YWNoRXZlbnQiLCJfdG9nZ2xlTGF5b3V0IiwiYmluZCIsImF0dGFjaEV2ZW50Iiwic2V0QXNzb2NpYXRpb24iLCJ0aGVuIiwidGFyZ2V0S2V5IiwiZ2V0U2VsZWN0ZWRLZXkiLCJfb0ZpbHRlckJhckxheW91dCIsImlzQSIsIl9vU2Vjb25kYXJ5RmlsdGVyQmFyTGF5b3V0IiwiVmlzdWFsRmlsdGVyQ29udGFpbmVyIiwic2V0U2hvd0FkYXB0RmlsdGVyc0J1dHRvbiIsIm9DdXJyZW50RmlsdGVyQmFyTGF5b3V0Iiwib0ZpbHRlckl0ZW1zIiwiZ2V0RmlsdGVySXRlbXMiLCJhRmlsdGVyRmllbGRzIiwiZ2V0QWxsRmlsdGVyRmllbGRzIiwiYVNvcnRlZEZpbHRlckZpZWxkcyIsImdldFNvcnRlZEZpbHRlckZpZWxkcyIsImFCdXR0b25zIiwiZ2V0QWxsQnV0dG9ucyIsImFWaXN1YWxGaWx0ZXJGaWVsZHMiLCJnZXRBbGxWaXN1YWxGaWx0ZXJGaWVsZHMiLCJzZXRBbGxGaWx0ZXJGaWVsZHMiLCJmb3JFYWNoIiwib0ZpbHRlckZpZWxkIiwiaUluZGV4IiwicmVtb3ZlRmlsdGVyRmllbGQiLCJpbnNlcnRGaWx0ZXJGaWVsZCIsIm9CdXR0b24iLCJyZW1vdmVCdXR0b24iLCJhZGRCdXR0b24iLCJzZXRBZ2dyZWdhdGlvbiIsImludmFsaWRhdGUiLCJjYXRjaCIsImVycm9yIiwiTG9nIiwiYUZpbHRlckl0ZW1zIiwiYUZpbHRlcklkcyIsIm9GaWx0ZXJJdGVtIiwicHVzaCIsImdldElkIiwic29ydCIsImFGaXJzdEl0ZW0iLCJhU2Vjb25kSXRlbSIsInNGaXJzdEl0ZW1WRklkIiwic1NlY29uZEl0ZW1WRklkIiwiZ2V0Q29udGVudCIsIm9Jbm5lckNvbnRyb2wiLCJpbmRleE9mIiwiX2NyZWF0ZUlubmVyTGF5b3V0IiwiRmlsdGVyQ29udGFpbmVyIiwiX2NMYXlvdXRJdGVtIiwiRmlsdGVySXRlbUxheW91dCIsImdldElubmVyIiwiYWRkU3R5bGVDbGFzcyIsIl9hZGRCdXR0b25zIiwib0lubmVyTGF5b3V0Iiwib0ZpbHRlckNvbnRhaW5lcklubmVyTGF5b3V0RXZlbnREZWxlZ2F0ZSIsIm9uQmVmb3JlUmVuZGVyaW5nIiwiaW5pdGlhbExheW91dCIsInJlbW92ZUV2ZW50RGVsZWdhdGUiLCJhZGRFdmVudERlbGVnYXRlIiwiZXhpdCIsImdldFNlZ21lbnRlZEJ1dHRvbiIsImVuYWJsZVJlcXVlc3RzIiwiZW5hYmxlIiwiZGlmZlN0YXRlIiwic2V0U3VzcGVuZFNlbGVjdGlvbiIsIl9lbmFibGVWaXN1YWxGaWx0ZXJDaGFydEJpbmRpbmdzIiwiX2dldEZpbHRlckxheW91dEJ5VHlwZSIsImxheW91dENsYXNzTmFtZSIsInJldEZpbHRlckxheW91dCIsInVuZGVmaW5lZCIsInZpc3VhbEZpbHRlckxheW91dCIsImVuYWJsZUNoYXJ0QmluZGluZyIsImNvbXBhY3RGaWx0ZXJMYXlvdXQiLCJ2aXN1YWxGaWx0ZXJzIiwiVmlzdWFsRmlsdGVyVXRpbHMiLCJNZGNGaWx0ZXJCYXIiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpbHRlckJhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYXNzb2NpYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udHJvbHMvZmlsdGVyYmFyL0ZpbHRlckNvbnRhaW5lclwiO1xuaW1wb3J0IFZpc3VhbEZpbHRlckNvbnRhaW5lciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9maWx0ZXJiYXIvVmlzdWFsRmlsdGVyQ29udGFpbmVyXCI7XG5pbXBvcnQgdHlwZSBWaXN1YWxGaWx0ZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvdmlzdWFsZmlsdGVycy9WaXN1YWxGaWx0ZXJcIjtcbmltcG9ydCB0eXBlIEJ1dHRvbiBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgdHlwZSBTZWdtZW50ZWRCdXR0b24gZnJvbSBcInNhcC9tL1NlZ21lbnRlZEJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBFbGVtZW50IH0gZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmltcG9ydCB0eXBlIHsgJEZpbHRlckJhclNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9tZGMvRmlsdGVyQmFyXCI7XG5pbXBvcnQgTWRjRmlsdGVyQmFyIGZyb20gXCJzYXAvdWkvbWRjL0ZpbHRlckJhclwiO1xuaW1wb3J0IHR5cGUgRmlsdGVyRmllbGQgZnJvbSBcInNhcC91aS9tZGMvRmlsdGVyRmllbGRcIjtcbmltcG9ydCB0eXBlIElGaWx0ZXJDb250YWluZXIgZnJvbSBcInNhcC91aS9tZGMvZmlsdGVyYmFyL0lGaWx0ZXJDb250YWluZXJcIjtcbmltcG9ydCBGaWx0ZXJJdGVtTGF5b3V0IGZyb20gXCJzYXAvdWkvbWRjL2ZpbHRlcmJhci9hbGlnbmVkL0ZpbHRlckl0ZW1MYXlvdXRcIjtcbmltcG9ydCB7IHR5cGUgRXh0ZXJuYWxTdGF0ZVR5cGUgfSBmcm9tIFwiLi4vdmFsdWVoZWxwL1ZhbHVlSGVscERlbGVnYXRlXCI7XG5pbXBvcnQgVmlzdWFsRmlsdGVyVXRpbHMgZnJvbSBcIi4vZmlsdGVyYmFyL3V0aWxzL1Zpc3VhbEZpbHRlclV0aWxzXCI7XG5cbmNvbnN0IFZJU1VBTF9GSUxURVJfQ09OVEFJTkVSID0gXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLmZpbHRlcmJhci5WaXN1YWxGaWx0ZXJDb250YWluZXJcIixcblx0RklMVEVSX0NPTlRBSU5FUiA9IFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5maWx0ZXJiYXIuRmlsdGVyQ29udGFpbmVyXCI7XG50eXBlIENvbnRhaW5lclR5cGUgPSB0eXBlb2YgVklTVUFMX0ZJTFRFUl9DT05UQUlORVIgfCB0eXBlb2YgRklMVEVSX0NPTlRBSU5FUjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5GaWx0ZXJCYXJcIilcbmNsYXNzIEZpbHRlckJhciBleHRlbmRzIE1kY0ZpbHRlckJhciB7XG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGRlZmF1bHRWYWx1ZTogXCJjb21wYWN0XCIgfSlcblx0aW5pdGlhbExheW91dCE6IHN0cmluZztcblxuXHQvKipcblx0ICogQ29udHJvbCB3aGljaCBhbGxvd3MgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIHZpc3VhbCBhbmQgbm9ybWFsIGZpbHRlciBsYXlvdXRzXG5cdCAqL1xuXHRAYXNzb2NpYXRpb24oe1xuXHRcdHR5cGU6IFwic2FwLm0uU2VnbWVudGVkQnV0dG9uXCIsXG5cdFx0bXVsdGlwbGU6IGZhbHNlXG5cdH0pXG5cdHRvZ2dsZUNvbnRyb2whOiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IoaWRPclByb3BzPzogUHJvcGVydGllc09mPEZpbHRlckJhcj4gJiAkRmlsdGVyQmFyU2V0dGluZ3MsIHNldHRpbmdzPzogUHJvcGVydGllc09mPEZpbHRlckJhcj4gJiAkRmlsdGVyQmFyU2V0dGluZ3MpIHtcblx0XHRkZWxldGUgaWRPclByb3BzPy5wcm9wZXJ0eUluZm87XG5cdFx0ZGVsZXRlIHNldHRpbmdzPy5wcm9wZXJ0eUluZm87XG5cdFx0c3VwZXIoaWRPclByb3BzIGFzIHVua25vd24gYXMgc3RyaW5nLCBzZXR0aW5ncyk7XG5cdFx0dGhpcy5faW5pdGlhbGl6ZVN0YXR1cygpO1xuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBfaW5pdGlhbGl6ZVN0YXR1cygpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRhd2FpdCB0aGlzLndhaXRGb3JJbml0aWFsaXphdGlvbigpO1xuXHRcdHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuXHR9XG5cblx0aXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gISF0aGlzLl9pc0luaXRpYWxpemVkO1xuXHR9XG5cblx0cHJpdmF0ZSBfaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgX29TZWdtZW50ZWRCdXR0b24/OiBTZWdtZW50ZWRCdXR0b247XG5cblx0cHJpdmF0ZSBfb1NlY29uZGFyeUZpbHRlckJhckxheW91dD86IElGaWx0ZXJDb250YWluZXI7XG5cblx0cHJpdmF0ZSBfb0ZpbHRlckJhckxheW91dCE6IElGaWx0ZXJDb250YWluZXI7XG5cblx0cHJpdmF0ZSBfY0xheW91dEl0ZW06IHR5cGVvZiBGaWx0ZXJJdGVtTGF5b3V0O1xuXG5cdHNldFRvZ2dsZUNvbnRyb2wodlRvZ2dsZTogc3RyaW5nIHwgU2VnbWVudGVkQnV0dG9uKTogdm9pZCB7XG5cdFx0aWYgKHR5cGVvZiB2VG9nZ2xlID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHR0aGlzLl9vU2VnbWVudGVkQnV0dG9uID0gRWxlbWVudC5nZXRFbGVtZW50QnlJZCh2VG9nZ2xlKSBhcyBTZWdtZW50ZWRCdXR0b247XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX29TZWdtZW50ZWRCdXR0b24gPSB2VG9nZ2xlO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnRvZ2dsZUNvbnRyb2wgJiYgdGhpcy5fb1NlZ21lbnRlZEJ1dHRvbikge1xuXHRcdFx0dGhpcy5fb1NlZ21lbnRlZEJ1dHRvbi5kZXRhY2hFdmVudChcInNlbGVjdGlvbkNoYW5nZVwiLCB0aGlzLl90b2dnbGVMYXlvdXQuYmluZCh0aGlzKSk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLl9vU2VnbWVudGVkQnV0dG9uKSB7XG5cdFx0XHR0aGlzLl9vU2VnbWVudGVkQnV0dG9uLmF0dGFjaEV2ZW50KFwic2VsZWN0aW9uQ2hhbmdlXCIsIHRoaXMuX3RvZ2dsZUxheW91dC5iaW5kKHRoaXMpKTtcblx0XHR9XG5cdFx0dGhpcy5zZXRBc3NvY2lhdGlvbihcInRvZ2dsZUNvbnRyb2xcIiwgdlRvZ2dsZSwgdHJ1ZSk7XG5cdH1cblxuXHRfdG9nZ2xlTGF5b3V0KCk6IHZvaWQge1xuXHRcdC8vIFNpbmNlIHByaW1hcnkgbGF5b3V0IGlzIGFsd2F5cyBjb21wYWN0XG5cdFx0Ly8gaGVuY2Ugc2V0IHRoZSBzZWNvbmRhcnkgbGF5b3V0IGFzIHZpc3VhbCBmaWx0ZXIgb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgb25seVxuXHRcdHRoaXMud2FpdEZvckluaXRpYWxpemF0aW9uKClcblx0XHRcdC50aGVuKCgpID0+IHtcblx0XHRcdFx0Y29uc3QgdGFyZ2V0S2V5ID0gdGhpcy5fb1NlZ21lbnRlZEJ1dHRvbj8uZ2V0U2VsZWN0ZWRLZXkoKTtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdCh0YXJnZXRLZXkgPT09IFwidmlzdWFsXCIgJiZcblx0XHRcdFx0XHRcdHRoaXMuX29GaWx0ZXJCYXJMYXlvdXQ/LmlzQTxWaXN1YWxGaWx0ZXJDb250YWluZXI+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5maWx0ZXJiYXIuVmlzdWFsRmlsdGVyQ29udGFpbmVyXCIpKSB8fFxuXHRcdFx0XHRcdCh0YXJnZXRLZXkgPT09IFwiY29tcGFjdFwiICYmXG5cdFx0XHRcdFx0XHQhdGhpcy5fb0ZpbHRlckJhckxheW91dD8uaXNBPFZpc3VhbEZpbHRlckNvbnRhaW5lcj4oXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLmZpbHRlcmJhci5WaXN1YWxGaWx0ZXJDb250YWluZXJcIikpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoIXRoaXMuX29TZWNvbmRhcnlGaWx0ZXJCYXJMYXlvdXQpIHtcblx0XHRcdFx0XHR0aGlzLl9vU2Vjb25kYXJ5RmlsdGVyQmFyTGF5b3V0ID0gbmV3IFZpc3VhbEZpbHRlckNvbnRhaW5lcigpIGFzIHVua25vd24gYXMgSUZpbHRlckNvbnRhaW5lcjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGRvIG5vdCBzaG93IEFkYXB0IEZpbHRlcnMgQnV0dG9uIGZvciB2aXN1YWwgbGF5b3V0XG5cdFx0XHRcdGlmICh0aGlzLl9vU2Vjb25kYXJ5RmlsdGVyQmFyTGF5b3V0Py5pc0E8VmlzdWFsRmlsdGVyQ29udGFpbmVyPihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuZmlsdGVyYmFyLlZpc3VhbEZpbHRlckNvbnRhaW5lclwiKSkge1xuXHRcdFx0XHRcdHRoaXMuc2V0U2hvd0FkYXB0RmlsdGVyc0J1dHRvbihmYWxzZSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5zZXRTaG93QWRhcHRGaWx0ZXJzQnV0dG9uKHRydWUpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gZ2V0IGFsbCBmaWx0ZXIgZmllbGRzIGFuZCBidXR0b24gb2YgdGhlIGN1cnJlbnQgbGF5b3V0XG5cdFx0XHRcdGNvbnN0IG9DdXJyZW50RmlsdGVyQmFyTGF5b3V0ID0gdGhpcy5fb0ZpbHRlckJhckxheW91dDtcblx0XHRcdFx0Y29uc3Qgb0ZpbHRlckl0ZW1zID0gdGhpcy5nZXRGaWx0ZXJJdGVtcygpO1xuXHRcdFx0XHRjb25zdCBhRmlsdGVyRmllbGRzID0gb0N1cnJlbnRGaWx0ZXJCYXJMYXlvdXQuZ2V0QWxsRmlsdGVyRmllbGRzKCk7XG5cdFx0XHRcdGNvbnN0IGFTb3J0ZWRGaWx0ZXJGaWVsZHMgPSB0aGlzLmdldFNvcnRlZEZpbHRlckZpZWxkcyhvRmlsdGVySXRlbXMsIGFGaWx0ZXJGaWVsZHMpO1xuXHRcdFx0XHRjb25zdCBhQnV0dG9ucyA9IG9DdXJyZW50RmlsdGVyQmFyTGF5b3V0LmdldEFsbEJ1dHRvbnMoKTtcblx0XHRcdFx0Y29uc3QgYVZpc3VhbEZpbHRlckZpZWxkcyA9XG5cdFx0XHRcdFx0b0N1cnJlbnRGaWx0ZXJCYXJMYXlvdXQuZ2V0QWxsVmlzdWFsRmlsdGVyRmllbGRzICYmXG5cdFx0XHRcdFx0KG9DdXJyZW50RmlsdGVyQmFyTGF5b3V0LmdldEFsbFZpc3VhbEZpbHRlckZpZWxkcygpIGFzIFJlY29yZDxzdHJpbmcsIFZpc3VhbEZpbHRlcj4gfCB1bmRlZmluZWQpO1xuXHRcdFx0XHRpZiAodGhpcy5fb1NlY29uZGFyeUZpbHRlckJhckxheW91dD8uaXNBPFZpc3VhbEZpbHRlckNvbnRhaW5lcj4oXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLmZpbHRlcmJhci5WaXN1YWxGaWx0ZXJDb250YWluZXJcIikpIHtcblx0XHRcdFx0XHR0aGlzLl9vU2Vjb25kYXJ5RmlsdGVyQmFyTGF5b3V0LnNldEFsbEZpbHRlckZpZWxkcyhhU29ydGVkRmlsdGVyRmllbGRzLCBhVmlzdWFsRmlsdGVyRmllbGRzKTtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyB1c2Ugc2Vjb25kYXJ5IGZpbHRlciBiYXIgbGF5b3V0IGFzIG5ldyBsYXlvdXRcblx0XHRcdFx0dGhpcy5fb0ZpbHRlckJhckxheW91dCA9IHRoaXMuX29TZWNvbmRhcnlGaWx0ZXJCYXJMYXlvdXQhO1xuXG5cdFx0XHRcdC8vIGluc2VydCBhbGwgZmlsdGVyIGZpZWxkcyBmcm9tIGN1cnJlbnQgbGF5b3V0IHRvIG5ldyBsYXlvdXRcblx0XHRcdFx0YUZpbHRlckZpZWxkcy5mb3JFYWNoKChvRmlsdGVyRmllbGQ6IEZpbHRlckZpZWxkLCBpSW5kZXg6IG51bWJlcikgPT4ge1xuXHRcdFx0XHRcdG9DdXJyZW50RmlsdGVyQmFyTGF5b3V0LnJlbW92ZUZpbHRlckZpZWxkKG9GaWx0ZXJGaWVsZCk7XG5cdFx0XHRcdFx0dGhpcy5fb0ZpbHRlckJhckxheW91dC5pbnNlcnRGaWx0ZXJGaWVsZChvRmlsdGVyRmllbGQsIGlJbmRleCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHQvLyBpbnNlcnQgYWxsIGJ1dHRvbnMgZnJvbSB0aGUgY3VycmVudCBsYXlvdXQgdG8gdGhlIG5ldyBsYXlvdXRcblx0XHRcdFx0YUJ1dHRvbnMuZm9yRWFjaCgob0J1dHRvbjogQnV0dG9uKSA9PiB7XG5cdFx0XHRcdFx0b0N1cnJlbnRGaWx0ZXJCYXJMYXlvdXQucmVtb3ZlQnV0dG9uKG9CdXR0b24pO1xuXHRcdFx0XHRcdHRoaXMuX29GaWx0ZXJCYXJMYXlvdXQuYWRkQnV0dG9uKG9CdXR0b24pO1xuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHQvLyBzZXQgdGhlIGN1cnJlbnQgZmlsdGVyIGJhciBsYXlvdXQgdG8gdGhlIHNlY29uZGFyeSBvbmVcblx0XHRcdFx0dGhpcy5fb1NlY29uZGFyeUZpbHRlckJhckxheW91dCA9IG9DdXJyZW50RmlsdGVyQmFyTGF5b3V0O1xuXG5cdFx0XHRcdC8vIHVwZGF0ZSB0aGUgbGF5b3V0IGFnZ3JlZ2F0aW9uIG9mIHRoZSBmaWx0ZXIgYmFyIGFuZCByZXJlbmRlciB0aGUgc2FtZS5cblx0XHRcdFx0dGhpcy5zZXRBZ2dyZWdhdGlvbihcImxheW91dFwiLCB0aGlzLl9vRmlsdGVyQmFyTGF5b3V0LCB0cnVlKTtcblx0XHRcdFx0dGhpcy5fb0ZpbHRlckJhckxheW91dC5pbnZhbGlkYXRlKCk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goKGVycm9yKSA9PiB7XG5cdFx0XHRcdExvZy5lcnJvcihlcnJvcik7XG5cdFx0XHR9KTtcblx0fVxuXG5cdGdldFNvcnRlZEZpbHRlckZpZWxkcyhhRmlsdGVySXRlbXM6IEZpbHRlckZpZWxkW10sIGFGaWx0ZXJGaWVsZHM6IEZpbHRlckZpZWxkW10pOiBGaWx0ZXJGaWVsZFtdIHtcblx0XHRjb25zdCBhRmlsdGVySWRzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdGFGaWx0ZXJJdGVtcy5mb3JFYWNoKGZ1bmN0aW9uIChvRmlsdGVySXRlbTogRmlsdGVyRmllbGQpIHtcblx0XHRcdGFGaWx0ZXJJZHMucHVzaChvRmlsdGVySXRlbS5nZXRJZCgpKTtcblx0XHR9KTtcblx0XHRhRmlsdGVyRmllbGRzLnNvcnQoZnVuY3Rpb24gKGFGaXJzdEl0ZW06IEZpbHRlckZpZWxkLCBhU2Vjb25kSXRlbTogRmlsdGVyRmllbGQpIHtcblx0XHRcdGxldCBzRmlyc3RJdGVtVkZJZCwgc1NlY29uZEl0ZW1WRklkO1xuXHRcdFx0KGFGaXJzdEl0ZW0uZ2V0Q29udGVudCgpIGFzIHVua25vd24gYXMgQ29udHJvbFtdKS5mb3JFYWNoKGZ1bmN0aW9uIChvSW5uZXJDb250cm9sOiBDb250cm9sKSB7XG5cdFx0XHRcdGlmIChvSW5uZXJDb250cm9sLmlzQTxGaWx0ZXJGaWVsZD4oXCJzYXAudWkubWRjLkZpbHRlckZpZWxkXCIpKSB7XG5cdFx0XHRcdFx0c0ZpcnN0SXRlbVZGSWQgPSBvSW5uZXJDb250cm9sLmdldElkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0KGFTZWNvbmRJdGVtLmdldENvbnRlbnQoKSBhcyB1bmtub3duIGFzIENvbnRyb2xbXSkuZm9yRWFjaChmdW5jdGlvbiAob0lubmVyQ29udHJvbDogQ29udHJvbCkge1xuXHRcdFx0XHRpZiAob0lubmVyQ29udHJvbC5pc0E8RmlsdGVyRmllbGQ+KFwic2FwLnVpLm1kYy5GaWx0ZXJGaWVsZFwiKSkge1xuXHRcdFx0XHRcdHNTZWNvbmRJdGVtVkZJZCA9IG9Jbm5lckNvbnRyb2wuZ2V0SWQoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRyZXR1cm4gYUZpbHRlcklkcy5pbmRleE9mKHNGaXJzdEl0ZW1WRklkID8/IFwiXCIpIC0gYUZpbHRlcklkcy5pbmRleE9mKHNTZWNvbmRJdGVtVkZJZCA/PyBcIlwiKTtcblx0XHR9KTtcblx0XHRyZXR1cm4gYUZpbHRlckZpZWxkcztcblx0fVxuXG5cdF9jcmVhdGVJbm5lckxheW91dCgpOiB2b2lkIHtcblx0XHR0aGlzLl9vRmlsdGVyQmFyTGF5b3V0ID0gbmV3IEZpbHRlckNvbnRhaW5lcigpO1xuXHRcdHRoaXMuX2NMYXlvdXRJdGVtID0gRmlsdGVySXRlbUxheW91dDtcblx0XHR0aGlzLl9vRmlsdGVyQmFyTGF5b3V0LmdldElubmVyKCkuYWRkU3R5bGVDbGFzcyhcInNhcFVpTWRjRmlsdGVyQmFyQmFzZUFGTGF5b3V0XCIpO1xuXHRcdHRoaXMuX2FkZEJ1dHRvbnMoKTtcblxuXHRcdC8vIFRPRE86IENoZWNrIHdpdGggTURDIGlmIHRoZXJlIGlzIGEgYmV0dGVyIHdheSB0byBsb2FkIHZpc3VhbCBmaWx0ZXIgb24gdGhlIGJhc2lzIG9mIGNvbnRyb2wgcHJvcGVydHlcblx0XHQvLyBfY3JlYXRlSW5uZXJMYXlvdXQgaXMgY2FsbGVkIG9uIEluaXQgYnkgdGhlIGZpbHRlciBiYXIgYmFzZS5cblx0XHQvLyBUaGlzIG1lYW4gdGhhdCB3ZSBkbyBub3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIGNvbnRyb2wgcHJvcGVydGllcyB5ZXRcblx0XHQvLyBhbmQgaGVuY2Ugd2UgY2Fubm90IGRlY2lkZSBvbiB0aGUgYmFzaXMgb2YgY29udHJvbCBwcm9wZXJ0aWVzIHdoZXRoZXIgaW5pdGlhbCBsYXlvdXQgc2hvdWxkIGJlIGNvbXBhY3Qgb3IgdmlzdWFsXG5cdFx0Ly8gQXMgYSByZXN1bHQgd2UgaGF2ZSB0byBkbyB0aGlzIHdvcmthcm91bmQgdG8gYWx3YXlzIGxvYWQgdGhlIGNvbXBhY3QgbGF5b3V0IGJ5IGRlZmF1bHRcblx0XHQvLyBBbmQgdG9vZ2xlIHRoZSBzYW1lIGluIGNhc2UgdGhlIGluaXRpYWxMYXlvdXQgd2FzIHN1cHBvc2VkIHRvIGJlIHZpc3VhbCBmaWx0ZXJzLlxuXHRcdGNvbnN0IG9Jbm5lckxheW91dCA9IHRoaXMuX29GaWx0ZXJCYXJMYXlvdXQuZ2V0SW5uZXIoKTtcblx0XHRjb25zdCBvRmlsdGVyQ29udGFpbmVySW5uZXJMYXlvdXRFdmVudERlbGVnYXRlID0ge1xuXHRcdFx0b25CZWZvcmVSZW5kZXJpbmc6ICgpOiB2b2lkID0+IHtcblx0XHRcdFx0aWYgKHRoaXMuaW5pdGlhbExheW91dCA9PT0gXCJ2aXN1YWxcIikge1xuXHRcdFx0XHRcdHRoaXMuX3RvZ2dsZUxheW91dCgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdG9Jbm5lckxheW91dC5yZW1vdmVFdmVudERlbGVnYXRlKG9GaWx0ZXJDb250YWluZXJJbm5lckxheW91dEV2ZW50RGVsZWdhdGUpO1xuXHRcdFx0fVxuXHRcdH07XG5cdFx0b0lubmVyTGF5b3V0LmFkZEV2ZW50RGVsZWdhdGUob0ZpbHRlckNvbnRhaW5lcklubmVyTGF5b3V0RXZlbnREZWxlZ2F0ZSk7XG5cblx0XHR0aGlzLnNldEFnZ3JlZ2F0aW9uKFwibGF5b3V0XCIsIHRoaXMuX29GaWx0ZXJCYXJMYXlvdXQsIHRydWUpO1xuXHR9XG5cblx0ZXhpdCgpOiB2b2lkIHtcblx0XHRzdXBlci5leGl0KCk7XG5cdFx0Ly8gU29tZXRpbWVzIHVwb24gZXh0ZXJuYWwgbmF2aWdhdGlvbiB0aGlzLl9TZWdtZW50ZWRCdXR0b24gaXMgYWxyZWFkeSBkZXN0cm95ZWRcblx0XHQvLyBzbyBjaGVjayBpZiBpdCBleGlzdHMgYW5kIHRoZW4gb25seSByZW1vdmUgc3R1ZmZcblx0XHRpZiAodGhpcy5fb1NlZ21lbnRlZEJ1dHRvbikge1xuXHRcdFx0dGhpcy5fb1NlZ21lbnRlZEJ1dHRvbi5kZXRhY2hFdmVudChcInNlbGVjdGlvbkNoYW5nZVwiLCB0aGlzLl90b2dnbGVMYXlvdXQpO1xuXHRcdFx0ZGVsZXRlIHRoaXMuX29TZWdtZW50ZWRCdXR0b247XG5cdFx0fVxuXHR9XG5cblx0Z2V0U2VnbWVudGVkQnV0dG9uKCk6IFNlZ21lbnRlZEJ1dHRvbiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuX29TZWdtZW50ZWRCdXR0b247XG5cdH1cblxuXHQvKipcblx0ICogRW5hYmxlIG9yIGRpc2FibGUgcmVxdWVzdHMgdGhhdCBhcmUgaW5pdGlhdGVkIGJ5IHRoZSBGaWx0ZXJCYXIuXG5cdCAqXG5cdCAqIFRvIGJlIHVzZWQgdG8gc3VzcGVuZCBvciByZXN1bWUgcmVxdWVzdHModGFibGUgb3IgdmlzdWFsIGZpbHRlcnMpIHdoZW4gdGhlIGZpbHRlciBiYXIgaXMgYmVpbmcgbW9kaWZpZWQgb3Igd2hlbiB0aGUgdXNlciBpcyBwcm9ncmFtbWF0aWNhbGx5IGludGVyYWN0aW5nIHdpdGggdGhlIGZpbHRlciBjb250cm9scy5cblx0ICogVGhpcyBtZXRob2QgaXMgYWxzbyB1c2VkIHRvIGNvbnRyb2wgd2hldGhlciB0aGUgdmlzdWFsIGZpbHRlciBjaGFydCBiaW5kaW5nIHNob3VsZCBiZSByZXN1bWVkL3N1c3BlbmRlZCBiYXNlZCBvbiB0aGUgZGlmZiBzdGF0ZSwgYW5kIHJlc3VtZWQgYWZ0ZXIgY29uZGl0b24gbW9kZWwgdXBkYXRlLlxuXHQgKiBAcGFyYW0gZW5hYmxlIEVuYWJsZSBvciBkaXNhYmxlIHJlcXVlc3RzXG5cdCAqIEBwYXJhbSBkaWZmU3RhdGUgSWYgdGhlcmUgaXMgYSBkaWZmZXJuY2UgaW4gdGhlIGV4dGVybmFsIHN0YXRlIHRoYXQgbmVlZHMgdG8gYmUgY29uc2lkZXJlZCBmb3IgdmlzdWFsIGZpbHRlciBpbi1wYXJhbWV0ZXJzXG5cdCAqL1xuXHRlbmFibGVSZXF1ZXN0cyhlbmFibGU6IGJvb2xlYW4sIGRpZmZTdGF0ZT86IEV4dGVybmFsU3RhdGVUeXBlKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRTdXNwZW5kU2VsZWN0aW9uKCFlbmFibGUpO1xuXHRcdC8vIFdlIG5lZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIHZpc3VhbCBmaWx0ZXIgY2hhcnQgYmluZGluZ3MgYmFzZWQgb24gZGlmZiBzdGF0ZS5cblx0XHR0aGlzLl9lbmFibGVWaXN1YWxGaWx0ZXJDaGFydEJpbmRpbmdzKGVuYWJsZSwgZGlmZlN0YXRlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIGZpbHRlciBsYXlvdXQgYnkgaXRzIHR5cGUuXG5cdCAqIEBwYXJhbSBsYXlvdXRDbGFzc05hbWUgVGhlIGNsYXNzIG5hbWUgb2YgdGhlIGZpbHRlciBsYXlvdXQgdG8gYmUgcmV0dXJuZWQuXG5cdCAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIG9mIHRoZSBmaWx0ZXIgbGF5b3V0IHRvIGJlIHJldHVybmVkLlxuXHQgKiBAdHlwZWRlZiB7SUZpbHRlckNvbnRhaW5lcn0gVCBUaGUgdHlwZSBvZiB0aGUgZmlsdGVyIGxheW91dCB0byBiZSByZXR1cm5lZFxuXHQgKiBAcmV0dXJucyBDb3JyZXNwb25kaW5nIGZpbHRlciBsYXlvdXQgaWYgaXQgZXhpc3RzLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuXHQgKi9cblx0X2dldEZpbHRlckxheW91dEJ5VHlwZTxUIGV4dGVuZHMgSUZpbHRlckNvbnRhaW5lcj4obGF5b3V0Q2xhc3NOYW1lOiBDb250YWluZXJUeXBlKTogVCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgcmV0RmlsdGVyTGF5b3V0ID0gdGhpcy5fb0ZpbHRlckJhckxheW91dC5pc0E8VD4obGF5b3V0Q2xhc3NOYW1lKSA/IHRoaXMuX29GaWx0ZXJCYXJMYXlvdXQgOiB1bmRlZmluZWQ7XG5cdFx0cmV0dXJuICFyZXRGaWx0ZXJMYXlvdXQgJiYgdGhpcy5fb1NlY29uZGFyeUZpbHRlckJhckxheW91dD8uaXNBPFQ+KGxheW91dENsYXNzTmFtZSlcblx0XHRcdD8gdGhpcy5fb1NlY29uZGFyeUZpbHRlckJhckxheW91dFxuXHRcdFx0OiByZXRGaWx0ZXJMYXlvdXQ7XG5cdH1cblxuXHRfZW5hYmxlVmlzdWFsRmlsdGVyQ2hhcnRCaW5kaW5ncyhlbmFibGU6IGJvb2xlYW4sIGRpZmZTdGF0ZT86IEV4dGVybmFsU3RhdGVUeXBlKTogdm9pZCB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRjb25zdCB2aXN1YWxGaWx0ZXJMYXlvdXQgPSB0aGlzLl9nZXRGaWx0ZXJMYXlvdXRCeVR5cGU8VmlzdWFsRmlsdGVyQ29udGFpbmVyPihWSVNVQUxfRklMVEVSX0NPTlRBSU5FUik7XG5cdFx0aWYgKHZpc3VhbEZpbHRlckxheW91dCkge1xuXHRcdFx0dmlzdWFsRmlsdGVyTGF5b3V0LmVuYWJsZUNoYXJ0QmluZGluZyhlbmFibGUsIGRpZmZTdGF0ZSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gSWYgaW5pdGlhbCBsYXlvdXQgaXMgY29tcGFjdCwgd2UgZG9uJ3QgaGF2ZSB0aGUgdmlzdWFsIGZpbHRlciBsYXlvdXQoY29udGFpbmVyKSBhdmFpbGFibGUgeWV0IHVudGlsIHRoZSB1c2VyIHRvZ2dsZXMgdG8gdmlzdWFsIGZpbHRlciBsYXlvdXQuXG5cdFx0Ly8gU28gd2UgbmVlZCB0byBjaGVjayBpZiB0aGUgY29tcGFjdCBmaWx0ZXIgbGF5b3V0IGhhcyB2aXN1YWwgZmlsdGVycyBhbmQgZW5hYmxlL2Rpc2FibGUgdGhlIGNoYXJ0IGJpbmRpbmcgZm9yIHRob3NlIHZpc3VhbCBmaWx0ZXJzLlxuXHRcdGNvbnN0IGNvbXBhY3RGaWx0ZXJMYXlvdXQgPSB0aGlzLl9nZXRGaWx0ZXJMYXlvdXRCeVR5cGU8RmlsdGVyQ29udGFpbmVyPihGSUxURVJfQ09OVEFJTkVSKTtcblx0XHRpZiAoY29tcGFjdEZpbHRlckxheW91dCkge1xuXHRcdFx0Y29uc3QgdmlzdWFsRmlsdGVycyA9IGNvbXBhY3RGaWx0ZXJMYXlvdXQuZ2V0QWxsVmlzdWFsRmlsdGVyRmllbGRzKCk7XG5cdFx0XHRpZiAodmlzdWFsRmlsdGVycykge1xuXHRcdFx0XHRWaXN1YWxGaWx0ZXJVdGlscy5lbmFibGVDaGFydEJpbmRpbmcodmlzdWFsRmlsdGVycywgZW5hYmxlLCBkaWZmU3RhdGUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuaW50ZXJmYWNlIEZpbHRlckJhciB7XG5cdF9hZGRCdXR0b25zKCk6IHZvaWQ7XG59XG5leHBvcnQgZGVmYXVsdCBGaWx0ZXJCYXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7RUFrQkEsTUFBTUEsdUJBQXVCLEdBQUcsd0RBQXdEO0lBQ3ZGQyxnQkFBZ0IsR0FBRyxrREFBa0Q7RUFBQyxJQUlqRUMsU0FBUyxJQUFBQyxJQUFBLEdBRGRDLGNBQWMsQ0FBQyxrQ0FBa0MsQ0FBQyxFQUFBQyxLQUFBLEdBRWpEQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLFFBQVE7SUFBRUMsWUFBWSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FNckRDLFdBQVcsQ0FBQztJQUNaSCxJQUFJLEVBQUUsdUJBQXVCO0lBQzdCSSxRQUFRLEVBQUU7RUFDWCxDQUFDLENBQUMsRUFBQVIsSUFBQSxDQUFBUyxNQUFBLElBQUFDLE9BQUEsMEJBQUFDLGFBQUE7SUFHRixTQUFBWixVQUFZYSxTQUF3RCxFQUFFQyxRQUF1RCxFQUFFO01BQUEsSUFBQUMsS0FBQTtNQUM5SCxPQUFPRixTQUFTLEVBQUVHLFlBQVk7TUFDOUIsT0FBT0YsUUFBUSxFQUFFRSxZQUFZO01BQzdCRCxLQUFBLEdBQUFILGFBQUEsQ0FBQUssSUFBQSxPQUFNSixTQUFT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
242
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWSVNVQUxfRklMVEVSX0NPTlRBSU5FUiIsIkZJTFRFUl9DT05UQUlORVIiLCJGaWx0ZXJCYXIiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsImRlZmF1bHRWYWx1ZSIsIl9kZWMzIiwiX2RlYzQiLCJhc3NvY2lhdGlvbiIsIm11bHRpcGxlIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9NZGNGaWx0ZXJCYXIiLCJpZE9yUHJvcHMiLCJzZXR0aW5ncyIsIl90aGlzIiwicHJvcGVydHlJbmZvIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfaXNJbml0aWFsaXplZCIsIl9pbml0aWFsaXplU3RhdHVzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJ3YWl0Rm9ySW5pdGlhbGl6YXRpb24iLCJpc0luaXRpYWxpemVkIiwic2V0VG9nZ2xlQ29udHJvbCIsInZUb2dnbGUiLCJfb1NlZ21lbnRlZEJ1dHRvbiIsIkVsZW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInRvZ2dsZUNvbnRyb2wiLCJkZXRhY2hFdmVudCIsIl90b2dnbGVMYXlvdXQiLCJiaW5kIiwiYXR0YWNoRXZlbnQiLCJzZXRBc3NvY2lhdGlvbiIsInRoZW4iLCJ0YXJnZXRLZXkiLCJnZXRTZWxlY3RlZEtleSIsIl9vRmlsdGVyQmFyTGF5b3V0IiwiaXNBIiwiX29TZWNvbmRhcnlGaWx0ZXJCYXJMYXlvdXQiLCJWaXN1YWxGaWx0ZXJDb250YWluZXIiLCJzZXRTaG93QWRhcHRGaWx0ZXJzQnV0dG9uIiwib0N1cnJlbnRGaWx0ZXJCYXJMYXlvdXQiLCJvRmlsdGVySXRlbXMiLCJnZXRGaWx0ZXJJdGVtcyIsImFGaWx0ZXJGaWVsZHMiLCJnZXRBbGxGaWx0ZXJGaWVsZHMiLCJhU29ydGVkRmlsdGVyRmllbGRzIiwiZ2V0U29ydGVkRmlsdGVyRmllbGRzIiwiYUJ1dHRvbnMiLCJnZXRBbGxCdXR0b25zIiwiYVZpc3VhbEZpbHRlckZpZWxkcyIsImdldEFsbFZpc3VhbEZpbHRlckZpZWxkcyIsInNldEFsbEZpbHRlckZpZWxkcyIsImZvckVhY2giLCJvRmlsdGVyRmllbGQiLCJpSW5kZXgiLCJyZW1vdmVGaWx0ZXJGaWVsZCIsImluc2VydEZpbHRlckZpZWxkIiwib0J1dHRvbiIsInJlbW92ZUJ1dHRvbiIsImFkZEJ1dHRvbiIsInNldEFnZ3JlZ2F0aW9uIiwiaW52YWxpZGF0ZSIsImNhdGNoIiwiZXJyb3IiLCJMb2ciLCJhRmlsdGVySXRlbXMiLCJhRmlsdGVySWRzIiwib0ZpbHRlckl0ZW0iLCJwdXNoIiwiZ2V0SWQiLCJzb3J0IiwiYUZpcnN0SXRlbSIsImFTZWNvbmRJdGVtIiwic0ZpcnN0SXRlbVZGSWQiLCJzU2Vjb25kSXRlbVZGSWQiLCJnZXRDb250ZW50Iiwib0lubmVyQ29udHJvbCIsImluZGV4T2YiLCJfY3JlYXRlSW5uZXJMYXlvdXQiLCJGaWx0ZXJDb250YWluZXIiLCJfY0xheW91dEl0ZW0iLCJGaWx0ZXJJdGVtTGF5b3V0IiwiZ2V0SW5uZXIiLCJhZGRTdHlsZUNsYXNzIiwiX2FkZEJ1dHRvbnMiLCJvSW5uZXJMYXlvdXQiLCJvRmlsdGVyQ29udGFpbmVySW5uZXJMYXlvdXRFdmVudERlbGVnYXRlIiwib25CZWZvcmVSZW5kZXJpbmciLCJpbml0aWFsTGF5b3V0IiwicmVtb3ZlRXZlbnREZWxlZ2F0ZSIsImFkZEV2ZW50RGVsZWdhdGUiLCJleGl0IiwiZ2V0U2VnbWVudGVkQnV0dG9uIiwiZW5hYmxlUmVxdWVzdHMiLCJlbmFibGUiLCJkaWZmU3RhdGUiLCJzZXRTdXNwZW5kU2VsZWN0aW9uIiwiX2VuYWJsZVZpc3VhbEZpbHRlckNoYXJ0QmluZGluZ3MiLCJfZ2V0RmlsdGVyTGF5b3V0QnlUeXBlIiwibGF5b3V0Q2xhc3NOYW1lIiwicmV0RmlsdGVyTGF5b3V0IiwidW5kZWZpbmVkIiwidmlzdWFsRmlsdGVyTGF5b3V0IiwiZW5hYmxlQ2hhcnRCaW5kaW5nIiwiY29tcGFjdEZpbHRlckxheW91dCIsInZpc3VhbEZpbHRlcnMiLCJWaXN1YWxGaWx0ZXJVdGlscyIsIk1kY0ZpbHRlckJhciIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRmlsdGVyQmFyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBhc3NvY2lhdGlvbiwgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEZpbHRlckNvbnRhaW5lciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9maWx0ZXJiYXIvRmlsdGVyQ29udGFpbmVyXCI7XG5pbXBvcnQgVmlzdWFsRmlsdGVyQ29udGFpbmVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL2ZpbHRlcmJhci9WaXN1YWxGaWx0ZXJDb250YWluZXJcIjtcbmltcG9ydCB0eXBlIFZpc3VhbEZpbHRlciBmcm9tIFwic2FwL2ZlL21hY3Jvcy92aXN1YWxmaWx0ZXJzL1Zpc3VhbEZpbHRlclwiO1xuaW1wb3J0IHR5cGUgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCB0eXBlIFNlZ21lbnRlZEJ1dHRvbiBmcm9tIFwic2FwL20vU2VnbWVudGVkQnV0dG9uXCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIEVsZW1lbnQgfSBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IHR5cGUgeyAkRmlsdGVyQmFyU2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL21kYy9GaWx0ZXJCYXJcIjtcbmltcG9ydCBNZGNGaWx0ZXJCYXIgZnJvbSBcInNhcC91aS9tZGMvRmlsdGVyQmFyXCI7XG5pbXBvcnQgdHlwZSBGaWx0ZXJGaWVsZCBmcm9tIFwic2FwL3VpL21kYy9GaWx0ZXJGaWVsZFwiO1xuaW1wb3J0IHR5cGUgSUZpbHRlckNvbnRhaW5lciBmcm9tIFwic2FwL3VpL21kYy9maWx0ZXJiYXIvSUZpbHRlckNvbnRhaW5lclwiO1xuaW1wb3J0IEZpbHRlckl0ZW1MYXlvdXQgZnJvbSBcInNhcC91aS9tZGMvZmlsdGVyYmFyL2FsaWduZWQvRmlsdGVySXRlbUxheW91dFwiO1xuaW1wb3J0IHsgdHlwZSBFeHRlcm5hbFN0YXRlVHlwZSB9IGZyb20gXCIuLi92YWx1ZWhlbHAvVmFsdWVIZWxwRGVsZWdhdGVcIjtcbmltcG9ydCBWaXN1YWxGaWx0ZXJVdGlscyBmcm9tIFwiLi9maWx0ZXJiYXIvdXRpbHMvVmlzdWFsRmlsdGVyVXRpbHNcIjtcblxuY29uc3QgVklTVUFMX0ZJTFRFUl9DT05UQUlORVIgPSBcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuZmlsdGVyYmFyLlZpc3VhbEZpbHRlckNvbnRhaW5lclwiLFxuXHRGSUxURVJfQ09OVEFJTkVSID0gXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLmZpbHRlcmJhci5GaWx0ZXJDb250YWluZXJcIjtcbnR5cGUgQ29udGFpbmVyVHlwZSA9IHR5cGVvZiBWSVNVQUxfRklMVEVSX0NPTlRBSU5FUiB8IHR5cGVvZiBGSUxURVJfQ09OVEFJTkVSO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkZpbHRlckJhclwiKVxuY2xhc3MgRmlsdGVyQmFyIGV4dGVuZHMgTWRjRmlsdGVyQmFyIHtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgZGVmYXVsdFZhbHVlOiBcImNvbXBhY3RcIiB9KVxuXHRpbml0aWFsTGF5b3V0ITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiLCBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG5cdGRpc2FibGVEcmFmdEVkaXRTdGF0ZUZpbHRlciE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIENvbnRyb2wgd2hpY2ggYWxsb3dzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiB2aXN1YWwgYW5kIG5vcm1hbCBmaWx0ZXIgbGF5b3V0c1xuXHQgKi9cblx0QGFzc29jaWF0aW9uKHtcblx0XHR0eXBlOiBcInNhcC5tLlNlZ21lbnRlZEJ1dHRvblwiLFxuXHRcdG11bHRpcGxlOiBmYWxzZVxuXHR9KVxuXHR0b2dnbGVDb250cm9sITogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKGlkT3JQcm9wcz86IFByb3BlcnRpZXNPZjxGaWx0ZXJCYXI+ICYgJEZpbHRlckJhclNldHRpbmdzLCBzZXR0aW5ncz86IFByb3BlcnRpZXNPZjxGaWx0ZXJCYXI+ICYgJEZpbHRlckJhclNldHRpbmdzKSB7XG5cdFx0ZGVsZXRlIGlkT3JQcm9wcz8ucHJvcGVydHlJbmZvO1xuXHRcdGRlbGV0ZSBzZXR0aW5ncz8ucHJvcGVydHlJbmZvO1xuXHRcdHN1cGVyKGlkT3JQcm9wcyBhcyB1bmtub3duIGFzIHN0cmluZywgc2V0dGluZ3MpO1xuXHRcdHRoaXMuX2luaXRpYWxpemVTdGF0dXMoKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgX2luaXRpYWxpemVTdGF0dXMoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0YXdhaXQgdGhpcy53YWl0Rm9ySW5pdGlhbGl6YXRpb24oKTtcblx0XHR0aGlzLl9pc0luaXRpYWxpemVkID0gdHJ1ZTtcblx0fVxuXG5cdGlzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuICEhdGhpcy5faXNJbml0aWFsaXplZDtcblx0fVxuXG5cdHByaXZhdGUgX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuXHRwcml2YXRlIF9vU2VnbWVudGVkQnV0dG9uPzogU2VnbWVudGVkQnV0dG9uO1xuXG5cdHByaXZhdGUgX29TZWNvbmRhcnlGaWx0ZXJCYXJMYXlvdXQ/OiBJRmlsdGVyQ29udGFpbmVyO1xuXG5cdHByaXZhdGUgX29GaWx0ZXJCYXJMYXlvdXQhOiBJRmlsdGVyQ29udGFpbmVyO1xuXG5cdHByaXZhdGUgX2NMYXlvdXRJdGVtOiB0eXBlb2YgRmlsdGVySXRlbUxheW91dDtcblxuXHRzZXRUb2dnbGVDb250cm9sKHZUb2dnbGU6IHN0cmluZyB8IFNlZ21lbnRlZEJ1dHRvbik6IHZvaWQge1xuXHRcdGlmICh0eXBlb2YgdlRvZ2dsZSA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0dGhpcy5fb1NlZ21lbnRlZEJ1dHRvbiA9IEVsZW1lbnQuZ2V0RWxlbWVudEJ5SWQodlRvZ2dsZSkgYXMgU2VnbWVudGVkQnV0dG9uO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLl9vU2VnbWVudGVkQnV0dG9uID0gdlRvZ2dsZTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy50b2dnbGVDb250cm9sICYmIHRoaXMuX29TZWdtZW50ZWRCdXR0b24pIHtcblx0XHRcdHRoaXMuX29TZWdtZW50ZWRCdXR0b24uZGV0YWNoRXZlbnQoXCJzZWxlY3Rpb25DaGFuZ2VcIiwgdGhpcy5fdG9nZ2xlTGF5b3V0LmJpbmQodGhpcykpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5fb1NlZ21lbnRlZEJ1dHRvbikge1xuXHRcdFx0dGhpcy5fb1NlZ21lbnRlZEJ1dHRvbi5hdHRhY2hFdmVudChcInNlbGVjdGlvbkNoYW5nZVwiLCB0aGlzLl90b2dnbGVMYXlvdXQuYmluZCh0aGlzKSk7XG5cdFx0fVxuXHRcdHRoaXMuc2V0QXNzb2NpYXRpb24oXCJ0b2dnbGVDb250cm9sXCIsIHZUb2dnbGUsIHRydWUpO1xuXHR9XG5cblx0X3RvZ2dsZUxheW91dCgpOiB2b2lkIHtcblx0XHQvLyBTaW5jZSBwcmltYXJ5IGxheW91dCBpcyBhbHdheXMgY29tcGFjdFxuXHRcdC8vIGhlbmNlIHNldCB0aGUgc2Vjb25kYXJ5IGxheW91dCBhcyB2aXN1YWwgZmlsdGVyIG9ubHkgZm9yIHRoZSBmaXJzdCB0aW1lIG9ubHlcblx0XHR0aGlzLndhaXRGb3JJbml0aWFsaXphdGlvbigpXG5cdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHRhcmdldEtleSA9IHRoaXMuX29TZWdtZW50ZWRCdXR0b24/LmdldFNlbGVjdGVkS2V5KCk7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHQodGFyZ2V0S2V5ID09PSBcInZpc3VhbFwiICYmXG5cdFx0XHRcdFx0XHR0aGlzLl9vRmlsdGVyQmFyTGF5b3V0Py5pc0E8VmlzdWFsRmlsdGVyQ29udGFpbmVyPihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuZmlsdGVyYmFyLlZpc3VhbEZpbHRlckNvbnRhaW5lclwiKSkgfHxcblx0XHRcdFx0XHQodGFyZ2V0S2V5ID09PSBcImNvbXBhY3RcIiAmJlxuXHRcdFx0XHRcdFx0IXRoaXMuX29GaWx0ZXJCYXJMYXlvdXQ/LmlzQTxWaXN1YWxGaWx0ZXJDb250YWluZXI+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5maWx0ZXJiYXIuVmlzdWFsRmlsdGVyQ29udGFpbmVyXCIpKVxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKCF0aGlzLl9vU2Vjb25kYXJ5RmlsdGVyQmFyTGF5b3V0KSB7XG5cdFx0XHRcdFx0dGhpcy5fb1NlY29uZGFyeUZpbHRlckJhckxheW91dCA9IG5ldyBWaXN1YWxGaWx0ZXJDb250YWluZXIoKSBhcyB1bmtub3duIGFzIElGaWx0ZXJDb250YWluZXI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBkbyBub3Qgc2hvdyBBZGFwdCBGaWx0ZXJzIEJ1dHRvbiBmb3IgdmlzdWFsIGxheW91dFxuXHRcdFx0XHRpZiAodGhpcy5fb1NlY29uZGFyeUZpbHRlckJhckxheW91dD8uaXNBPFZpc3VhbEZpbHRlckNvbnRhaW5lcj4oXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLmZpbHRlcmJhci5WaXN1YWxGaWx0ZXJDb250YWluZXJcIikpIHtcblx0XHRcdFx0XHR0aGlzLnNldFNob3dBZGFwdEZpbHRlcnNCdXR0b24oZmFsc2UpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuc2V0U2hvd0FkYXB0RmlsdGVyc0J1dHRvbih0cnVlKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGdldCBhbGwgZmlsdGVyIGZpZWxkcyBhbmQgYnV0dG9uIG9mIHRoZSBjdXJyZW50IGxheW91dFxuXHRcdFx0XHRjb25zdCBvQ3VycmVudEZpbHRlckJhckxheW91dCA9IHRoaXMuX29GaWx0ZXJCYXJMYXlvdXQ7XG5cdFx0XHRcdGNvbnN0IG9GaWx0ZXJJdGVtcyA9IHRoaXMuZ2V0RmlsdGVySXRlbXMoKTtcblx0XHRcdFx0Y29uc3QgYUZpbHRlckZpZWxkcyA9IG9DdXJyZW50RmlsdGVyQmFyTGF5b3V0LmdldEFsbEZpbHRlckZpZWxkcygpO1xuXHRcdFx0XHRjb25zdCBhU29ydGVkRmlsdGVyRmllbGRzID0gdGhpcy5nZXRTb3J0ZWRGaWx0ZXJGaWVsZHMob0ZpbHRlckl0ZW1zLCBhRmlsdGVyRmllbGRzKTtcblx0XHRcdFx0Y29uc3QgYUJ1dHRvbnMgPSBvQ3VycmVudEZpbHRlckJhckxheW91dC5nZXRBbGxCdXR0b25zKCk7XG5cdFx0XHRcdGNvbnN0IGFWaXN1YWxGaWx0ZXJGaWVsZHMgPVxuXHRcdFx0XHRcdG9DdXJyZW50RmlsdGVyQmFyTGF5b3V0LmdldEFsbFZpc3VhbEZpbHRlckZpZWxkcyAmJlxuXHRcdFx0XHRcdChvQ3VycmVudEZpbHRlckJhckxheW91dC5nZXRBbGxWaXN1YWxGaWx0ZXJGaWVsZHMoKSBhcyBSZWNvcmQ8c3RyaW5nLCBWaXN1YWxGaWx0ZXI+IHwgdW5kZWZpbmVkKTtcblx0XHRcdFx0aWYgKHRoaXMuX29TZWNvbmRhcnlGaWx0ZXJCYXJMYXlvdXQ/LmlzQTxWaXN1YWxGaWx0ZXJDb250YWluZXI+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5maWx0ZXJiYXIuVmlzdWFsRmlsdGVyQ29udGFpbmVyXCIpKSB7XG5cdFx0XHRcdFx0dGhpcy5fb1NlY29uZGFyeUZpbHRlckJhckxheW91dC5zZXRBbGxGaWx0ZXJGaWVsZHMoYVNvcnRlZEZpbHRlckZpZWxkcywgYVZpc3VhbEZpbHRlckZpZWxkcyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gdXNlIHNlY29uZGFyeSBmaWx0ZXIgYmFyIGxheW91dCBhcyBuZXcgbGF5b3V0XG5cdFx0XHRcdHRoaXMuX29GaWx0ZXJCYXJMYXlvdXQgPSB0aGlzLl9vU2Vjb25kYXJ5RmlsdGVyQmFyTGF5b3V0ITtcblxuXHRcdFx0XHQvLyBpbnNlcnQgYWxsIGZpbHRlciBmaWVsZHMgZnJvbSBjdXJyZW50IGxheW91dCB0byBuZXcgbGF5b3V0XG5cdFx0XHRcdGFGaWx0ZXJGaWVsZHMuZm9yRWFjaCgob0ZpbHRlckZpZWxkOiBGaWx0ZXJGaWVsZCwgaUluZGV4OiBudW1iZXIpID0+IHtcblx0XHRcdFx0XHRvQ3VycmVudEZpbHRlckJhckxheW91dC5yZW1vdmVGaWx0ZXJGaWVsZChvRmlsdGVyRmllbGQpO1xuXHRcdFx0XHRcdHRoaXMuX29GaWx0ZXJCYXJMYXlvdXQuaW5zZXJ0RmlsdGVyRmllbGQob0ZpbHRlckZpZWxkLCBpSW5kZXgpO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0Ly8gaW5zZXJ0IGFsbCBidXR0b25zIGZyb20gdGhlIGN1cnJlbnQgbGF5b3V0IHRvIHRoZSBuZXcgbGF5b3V0XG5cdFx0XHRcdGFCdXR0b25zLmZvckVhY2goKG9CdXR0b246IEJ1dHRvbikgPT4ge1xuXHRcdFx0XHRcdG9DdXJyZW50RmlsdGVyQmFyTGF5b3V0LnJlbW92ZUJ1dHRvbihvQnV0dG9uKTtcblx0XHRcdFx0XHR0aGlzLl9vRmlsdGVyQmFyTGF5b3V0LmFkZEJ1dHRvbihvQnV0dG9uKTtcblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0Ly8gc2V0IHRoZSBjdXJyZW50IGZpbHRlciBiYXIgbGF5b3V0IHRvIHRoZSBzZWNvbmRhcnkgb25lXG5cdFx0XHRcdHRoaXMuX29TZWNvbmRhcnlGaWx0ZXJCYXJMYXlvdXQgPSBvQ3VycmVudEZpbHRlckJhckxheW91dDtcblxuXHRcdFx0XHQvLyB1cGRhdGUgdGhlIGxheW91dCBhZ2dyZWdhdGlvbiBvZiB0aGUgZmlsdGVyIGJhciBhbmQgcmVyZW5kZXIgdGhlIHNhbWUuXG5cdFx0XHRcdHRoaXMuc2V0QWdncmVnYXRpb24oXCJsYXlvdXRcIiwgdGhpcy5fb0ZpbHRlckJhckxheW91dCwgdHJ1ZSk7XG5cdFx0XHRcdHRoaXMuX29GaWx0ZXJCYXJMYXlvdXQuaW52YWxpZGF0ZSgpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKChlcnJvcikgPT4ge1xuXHRcdFx0XHRMb2cuZXJyb3IoZXJyb3IpO1xuXHRcdFx0fSk7XG5cdH1cblxuXHRnZXRTb3J0ZWRGaWx0ZXJGaWVsZHMoYUZpbHRlckl0ZW1zOiBGaWx0ZXJGaWVsZFtdLCBhRmlsdGVyRmllbGRzOiBGaWx0ZXJGaWVsZFtdKTogRmlsdGVyRmllbGRbXSB7XG5cdFx0Y29uc3QgYUZpbHRlcklkczogc3RyaW5nW10gPSBbXTtcblx0XHRhRmlsdGVySXRlbXMuZm9yRWFjaChmdW5jdGlvbiAob0ZpbHRlckl0ZW06IEZpbHRlckZpZWxkKSB7XG5cdFx0XHRhRmlsdGVySWRzLnB1c2gob0ZpbHRlckl0ZW0uZ2V0SWQoKSk7XG5cdFx0fSk7XG5cdFx0YUZpbHRlckZpZWxkcy5zb3J0KGZ1bmN0aW9uIChhRmlyc3RJdGVtOiBGaWx0ZXJGaWVsZCwgYVNlY29uZEl0ZW06IEZpbHRlckZpZWxkKSB7XG5cdFx0XHRsZXQgc0ZpcnN0SXRlbVZGSWQsIHNTZWNvbmRJdGVtVkZJZDtcblx0XHRcdChhRmlyc3RJdGVtLmdldENvbnRlbnQoKSBhcyB1bmtub3duIGFzIENvbnRyb2xbXSkuZm9yRWFjaChmdW5jdGlvbiAob0lubmVyQ29udHJvbDogQ29udHJvbCkge1xuXHRcdFx0XHRpZiAob0lubmVyQ29udHJvbC5pc0E8RmlsdGVyRmllbGQ+KFwic2FwLnVpLm1kYy5GaWx0ZXJGaWVsZFwiKSkge1xuXHRcdFx0XHRcdHNGaXJzdEl0ZW1WRklkID0gb0lubmVyQ29udHJvbC5nZXRJZCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdChhU2Vjb25kSXRlbS5nZXRDb250ZW50KCkgYXMgdW5rbm93biBhcyBDb250cm9sW10pLmZvckVhY2goZnVuY3Rpb24gKG9Jbm5lckNvbnRyb2w6IENvbnRyb2wpIHtcblx0XHRcdFx0aWYgKG9Jbm5lckNvbnRyb2wuaXNBPEZpbHRlckZpZWxkPihcInNhcC51aS5tZGMuRmlsdGVyRmllbGRcIikpIHtcblx0XHRcdFx0XHRzU2Vjb25kSXRlbVZGSWQgPSBvSW5uZXJDb250cm9sLmdldElkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0cmV0dXJuIGFGaWx0ZXJJZHMuaW5kZXhPZihzRmlyc3RJdGVtVkZJZCA/PyBcIlwiKSAtIGFGaWx0ZXJJZHMuaW5kZXhPZihzU2Vjb25kSXRlbVZGSWQgPz8gXCJcIik7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIGFGaWx0ZXJGaWVsZHM7XG5cdH1cblxuXHRfY3JlYXRlSW5uZXJMYXlvdXQoKTogdm9pZCB7XG5cdFx0dGhpcy5fb0ZpbHRlckJhckxheW91dCA9IG5ldyBGaWx0ZXJDb250YWluZXIoKTtcblx0XHR0aGlzLl9jTGF5b3V0SXRlbSA9IEZpbHRlckl0ZW1MYXlvdXQ7XG5cdFx0dGhpcy5fb0ZpbHRlckJhckxheW91dC5nZXRJbm5lcigpLmFkZFN0eWxlQ2xhc3MoXCJzYXBVaU1kY0ZpbHRlckJhckJhc2VBRkxheW91dFwiKTtcblx0XHR0aGlzLl9hZGRCdXR0b25zKCk7XG5cblx0XHQvLyBUT0RPOiBDaGVjayB3aXRoIE1EQyBpZiB0aGVyZSBpcyBhIGJldHRlciB3YXkgdG8gbG9hZCB2aXN1YWwgZmlsdGVyIG9uIHRoZSBiYXNpcyBvZiBjb250cm9sIHByb3BlcnR5XG5cdFx0Ly8gX2NyZWF0ZUlubmVyTGF5b3V0IGlzIGNhbGxlZCBvbiBJbml0IGJ5IHRoZSBmaWx0ZXIgYmFyIGJhc2UuXG5cdFx0Ly8gVGhpcyBtZWFuIHRoYXQgd2UgZG8gbm90IGhhdmUgYWNjZXNzIHRvIHRoZSBjb250cm9sIHByb3BlcnRpZXMgeWV0XG5cdFx0Ly8gYW5kIGhlbmNlIHdlIGNhbm5vdCBkZWNpZGUgb24gdGhlIGJhc2lzIG9mIGNvbnRyb2wgcHJvcGVydGllcyB3aGV0aGVyIGluaXRpYWwgbGF5b3V0IHNob3VsZCBiZSBjb21wYWN0IG9yIHZpc3VhbFxuXHRcdC8vIEFzIGEgcmVzdWx0IHdlIGhhdmUgdG8gZG8gdGhpcyB3b3JrYXJvdW5kIHRvIGFsd2F5cyBsb2FkIHRoZSBjb21wYWN0IGxheW91dCBieSBkZWZhdWx0XG5cdFx0Ly8gQW5kIHRvb2dsZSB0aGUgc2FtZSBpbiBjYXNlIHRoZSBpbml0aWFsTGF5b3V0IHdhcyBzdXBwb3NlZCB0byBiZSB2aXN1YWwgZmlsdGVycy5cblx0XHRjb25zdCBvSW5uZXJMYXlvdXQgPSB0aGlzLl9vRmlsdGVyQmFyTGF5b3V0LmdldElubmVyKCk7XG5cdFx0Y29uc3Qgb0ZpbHRlckNvbnRhaW5lcklubmVyTGF5b3V0RXZlbnREZWxlZ2F0ZSA9IHtcblx0XHRcdG9uQmVmb3JlUmVuZGVyaW5nOiAoKTogdm9pZCA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLmluaXRpYWxMYXlvdXQgPT09IFwidmlzdWFsXCIpIHtcblx0XHRcdFx0XHR0aGlzLl90b2dnbGVMYXlvdXQoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRvSW5uZXJMYXlvdXQucmVtb3ZlRXZlbnREZWxlZ2F0ZShvRmlsdGVyQ29udGFpbmVySW5uZXJMYXlvdXRFdmVudERlbGVnYXRlKTtcblx0XHRcdH1cblx0XHR9O1xuXHRcdG9Jbm5lckxheW91dC5hZGRFdmVudERlbGVnYXRlKG9GaWx0ZXJDb250YWluZXJJbm5lckxheW91dEV2ZW50RGVsZWdhdGUpO1xuXG5cdFx0dGhpcy5zZXRBZ2dyZWdhdGlvbihcImxheW91dFwiLCB0aGlzLl9vRmlsdGVyQmFyTGF5b3V0LCB0cnVlKTtcblx0fVxuXG5cdGV4aXQoKTogdm9pZCB7XG5cdFx0c3VwZXIuZXhpdCgpO1xuXHRcdC8vIFNvbWV0aW1lcyB1cG9uIGV4dGVybmFsIG5hdmlnYXRpb24gdGhpcy5fU2VnbWVudGVkQnV0dG9uIGlzIGFscmVhZHkgZGVzdHJveWVkXG5cdFx0Ly8gc28gY2hlY2sgaWYgaXQgZXhpc3RzIGFuZCB0aGVuIG9ubHkgcmVtb3ZlIHN0dWZmXG5cdFx0aWYgKHRoaXMuX29TZWdtZW50ZWRCdXR0b24pIHtcblx0XHRcdHRoaXMuX29TZWdtZW50ZWRCdXR0b24uZGV0YWNoRXZlbnQoXCJzZWxlY3Rpb25DaGFuZ2VcIiwgdGhpcy5fdG9nZ2xlTGF5b3V0KTtcblx0XHRcdGRlbGV0ZSB0aGlzLl9vU2VnbWVudGVkQnV0dG9uO1xuXHRcdH1cblx0fVxuXG5cdGdldFNlZ21lbnRlZEJ1dHRvbigpOiBTZWdtZW50ZWRCdXR0b24gfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiB0aGlzLl9vU2VnbWVudGVkQnV0dG9uO1xuXHR9XG5cblx0LyoqXG5cdCAqIEVuYWJsZSBvciBkaXNhYmxlIHJlcXVlc3RzIHRoYXQgYXJlIGluaXRpYXRlZCBieSB0aGUgRmlsdGVyQmFyLlxuXHQgKlxuXHQgKiBUbyBiZSB1c2VkIHRvIHN1c3BlbmQgb3IgcmVzdW1lIHJlcXVlc3RzKHRhYmxlIG9yIHZpc3VhbCBmaWx0ZXJzKSB3aGVuIHRoZSBmaWx0ZXIgYmFyIGlzIGJlaW5nIG1vZGlmaWVkIG9yIHdoZW4gdGhlIHVzZXIgaXMgcHJvZ3JhbW1hdGljYWxseSBpbnRlcmFjdGluZyB3aXRoIHRoZSBmaWx0ZXIgY29udHJvbHMuXG5cdCAqIFRoaXMgbWV0aG9kIGlzIGFsc28gdXNlZCB0byBjb250cm9sIHdoZXRoZXIgdGhlIHZpc3VhbCBmaWx0ZXIgY2hhcnQgYmluZGluZyBzaG91bGQgYmUgcmVzdW1lZC9zdXNwZW5kZWQgYmFzZWQgb24gdGhlIGRpZmYgc3RhdGUsIGFuZCByZXN1bWVkIGFmdGVyIGNvbmRpdG9uIG1vZGVsIHVwZGF0ZS5cblx0ICogQHBhcmFtIGVuYWJsZSBFbmFibGUgb3IgZGlzYWJsZSByZXF1ZXN0c1xuXHQgKiBAcGFyYW0gZGlmZlN0YXRlIElmIHRoZXJlIGlzIGEgZGlmZmVybmNlIGluIHRoZSBleHRlcm5hbCBzdGF0ZSB0aGF0IG5lZWRzIHRvIGJlIGNvbnNpZGVyZWQgZm9yIHZpc3VhbCBmaWx0ZXIgaW4tcGFyYW1ldGVyc1xuXHQgKi9cblx0ZW5hYmxlUmVxdWVzdHMoZW5hYmxlOiBib29sZWFuLCBkaWZmU3RhdGU/OiBFeHRlcm5hbFN0YXRlVHlwZSk6IHZvaWQge1xuXHRcdHRoaXMuc2V0U3VzcGVuZFNlbGVjdGlvbighZW5hYmxlKTtcblx0XHQvLyBXZSBuZWVkIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSB2aXN1YWwgZmlsdGVyIGNoYXJ0IGJpbmRpbmdzIGJhc2VkIG9uIGRpZmYgc3RhdGUuXG5cdFx0dGhpcy5fZW5hYmxlVmlzdWFsRmlsdGVyQ2hhcnRCaW5kaW5ncyhlbmFibGUsIGRpZmZTdGF0ZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBmaWx0ZXIgbGF5b3V0IGJ5IGl0cyB0eXBlLlxuXHQgKiBAcGFyYW0gbGF5b3V0Q2xhc3NOYW1lIFRoZSBjbGFzcyBuYW1lIG9mIHRoZSBmaWx0ZXIgbGF5b3V0IHRvIGJlIHJldHVybmVkLlxuXHQgKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiB0aGUgZmlsdGVyIGxheW91dCB0byBiZSByZXR1cm5lZC5cblx0ICogQHR5cGVkZWYge0lGaWx0ZXJDb250YWluZXJ9IFQgVGhlIHR5cGUgb2YgdGhlIGZpbHRlciBsYXlvdXQgdG8gYmUgcmV0dXJuZWRcblx0ICogQHJldHVybnMgQ29ycmVzcG9uZGluZyBmaWx0ZXIgbGF5b3V0IGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIHVuZGVmaW5lZC5cblx0ICovXG5cdF9nZXRGaWx0ZXJMYXlvdXRCeVR5cGU8VCBleHRlbmRzIElGaWx0ZXJDb250YWluZXI+KGxheW91dENsYXNzTmFtZTogQ29udGFpbmVyVHlwZSk6IFQgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHJldEZpbHRlckxheW91dCA9IHRoaXMuX29GaWx0ZXJCYXJMYXlvdXQuaXNBPFQ+KGxheW91dENsYXNzTmFtZSkgPyB0aGlzLl9vRmlsdGVyQmFyTGF5b3V0IDogdW5kZWZpbmVkO1xuXHRcdHJldHVybiAhcmV0RmlsdGVyTGF5b3V0ICYmIHRoaXMuX29TZWNvbmRhcnlGaWx0ZXJCYXJMYXlvdXQ/LmlzQTxUPihsYXlvdXRDbGFzc05hbWUpXG5cdFx0XHQ/IHRoaXMuX29TZWNvbmRhcnlGaWx0ZXJCYXJMYXlvdXRcblx0XHRcdDogcmV0RmlsdGVyTGF5b3V0O1xuXHR9XG5cblx0X2VuYWJsZVZpc3VhbEZpbHRlckNoYXJ0QmluZGluZ3MoZW5hYmxlOiBib29sZWFuLCBkaWZmU3RhdGU/OiBFeHRlcm5hbFN0YXRlVHlwZSk6IHZvaWQge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0Y29uc3QgdmlzdWFsRmlsdGVyTGF5b3V0ID0gdGhpcy5fZ2V0RmlsdGVyTGF5b3V0QnlUeXBlPFZpc3VhbEZpbHRlckNvbnRhaW5lcj4oVklTVUFMX0ZJTFRFUl9DT05UQUlORVIpO1xuXHRcdGlmICh2aXN1YWxGaWx0ZXJMYXlvdXQpIHtcblx0XHRcdHZpc3VhbEZpbHRlckxheW91dC5lbmFibGVDaGFydEJpbmRpbmcoZW5hYmxlLCBkaWZmU3RhdGUpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdC8vIElmIGluaXRpYWwgbGF5b3V0IGlzIGNvbXBhY3QsIHdlIGRvbid0IGhhdmUgdGhlIHZpc3VhbCBmaWx0ZXIgbGF5b3V0KGNvbnRhaW5lcikgYXZhaWxhYmxlIHlldCB1bnRpbCB0aGUgdXNlciB0b2dnbGVzIHRvIHZpc3VhbCBmaWx0ZXIgbGF5b3V0LlxuXHRcdC8vIFNvIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlIGNvbXBhY3QgZmlsdGVyIGxheW91dCBoYXMgdmlzdWFsIGZpbHRlcnMgYW5kIGVuYWJsZS9kaXNhYmxlIHRoZSBjaGFydCBiaW5kaW5nIGZvciB0aG9zZSB2aXN1YWwgZmlsdGVycy5cblx0XHRjb25zdCBjb21wYWN0RmlsdGVyTGF5b3V0ID0gdGhpcy5fZ2V0RmlsdGVyTGF5b3V0QnlUeXBlPEZpbHRlckNvbnRhaW5lcj4oRklMVEVSX0NPTlRBSU5FUik7XG5cdFx0aWYgKGNvbXBhY3RGaWx0ZXJMYXlvdXQpIHtcblx0XHRcdGNvbnN0IHZpc3VhbEZpbHRlcnMgPSBjb21wYWN0RmlsdGVyTGF5b3V0LmdldEFsbFZpc3VhbEZpbHRlckZpZWxkcygpO1xuXHRcdFx0aWYgKHZpc3VhbEZpbHRlcnMpIHtcblx0XHRcdFx0VmlzdWFsRmlsdGVyVXRpbHMuZW5hYmxlQ2hhcnRCaW5kaW5nKHZpc3VhbEZpbHRlcnMsIGVuYWJsZSwgZGlmZlN0YXRlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbmludGVyZmFjZSBGaWx0ZXJCYXIge1xuXHRfYWRkQnV0dG9ucygpOiB2b2lkO1xufVxuZXhwb3J0IGRlZmF1bHQgRmlsdGVyQmFyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0VBa0JBLE1BQU1BLHVCQUF1QixHQUFHLHdEQUF3RDtJQUN2RkMsZ0JBQWdCLEdBQUcsa0RBQWtEO0VBQUMsSUFJakVDLFNBQVMsSUFBQUMsSUFBQSxHQURkQyxjQUFjLENBQUMsa0NBQWtDLENBQUMsRUFBQUMsS0FBQSxHQUVqREMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVDLFlBQVksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBR3JESCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLFNBQVM7SUFBRUMsWUFBWSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFFLEtBQUEsR0FNbERDLFdBQVcsQ0FBQztJQUNaSixJQUFJLEVBQUUsdUJBQXVCO0lBQzdCSyxRQUFRLEVBQUU7RUFDWCxDQUFDLENB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R2tFLFNBQVM7TUFDM0csT0FBTyxDQUFDRCxlQUFlLElBQUksSUFBSSxDQUFDL0QsMEJBQTBCLEVBQUVELEdBQUcsQ0FBSStELGVBQWUsQ0FBQyxHQUNoRixJQUFJLENBQUM5RCwwQkFBMEIsR0FDL0IrRCxlQUFlO0lBQ25CLENBQUM7SUFBQW5GLE1BQUEsQ0FFRGdGLGdDQUFnQyxHQUFoQyxTQUFBQSxnQ0FBZ0NBLENBQUNILE1BQWUsRUFBRUMsU0FBNkIsRUFBUTtNQUN0RjtNQUNBO01BQ0EsTUFBTU8sa0JBQWtCLEdBQUcsSUFBSSxDQUFDSixzQkFBc0IsQ0FBd0I3Ryx1QkFBdUIsQ0FBQztNQUN0RyxJQUFJaUgsa0JBQWtCLEVBQUU7UUFDdkJBLGtCQUFrQixDQUFDQyxrQkFBa0IsQ0FBQ1QsTUFBTSxFQUFFQyxTQUFTLENBQUM7UUFDeEQ7TUFDRDs7TUFFQTtNQUNBO01BQ0EsTUFBTVMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDTixzQkFBc0IsQ0FBa0I1RyxnQkFBZ0IsQ0FBQztNQUMxRixJQUFJa0gsbUJBQW1CLEVBQUU7UUFDeEIsTUFBTUMsYUFBYSxHQUFHRCxtQkFBbUIsQ0FBQ3RELHdCQUF3QixDQUFDLENBQUM7UUFDcEUsSUFBSXVELGFBQWEsRUFBRTtVQUNsQkMsaUJBQWlCLENBQUNILGtCQUFrQixDQUFDRSxhQUFhLEVBQUVYLE1BQU0sRUFBRUMsU0FBUyxDQUFDO1FBQ3ZFO01BQ0Q7SUFDRCxDQUFDO0lBQUEsT0FBQXhHLFNBQUE7RUFBQSxFQXRPc0JvSCxZQUFZLEdBQUFoRyxXQUFBLEdBQUFpRyx5QkFBQSxDQUFBekcsT0FBQSxDQUFBZSxTQUFBLG9CQUFBeEIsS0FBQTtJQUFBbUgsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFwRyxZQUFBLEdBQUFnRyx5QkFBQSxDQUFBekcsT0FBQSxDQUFBZSxTQUFBLGtDQUFBcEIsS0FBQTtJQUFBK0csWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFuRyxZQUFBLEdBQUErRix5QkFBQSxDQUFBekcsT0FBQSxDQUFBZSxTQUFBLG9CQUFBbkIsS0FBQTtJQUFBOEcsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE3RyxPQUFBLE1BQUFELE1BQUE7RUFBQSxPQTJPckJYLFNBQVM7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -25,6 +25,9 @@ class FilterBar extends MdcFilterBar {
25
25
  @property({ type: "string", defaultValue: "compact" })
26
26
  initialLayout!: string;
27
27
 
28
+ @property({ type: "boolean", defaultValue: false })
29
+ disableDraftEditStateFilter!: boolean;
30
+
28
31
  /**
29
32
  * Control which allows for switching between visual and normal filter layouts
30
33
  */