@sapui5/sap.fe.core 1.114.0 → 1.114.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 (125) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppStateHandler-dbg.js +4 -1
  4. package/src/sap/fe/core/AppStateHandler.js +1 -1
  5. package/src/sap/fe/core/AppStateHandler.js.map +1 -1
  6. package/src/sap/fe/core/AppStateHandler.ts +4 -1
  7. package/src/sap/fe/core/ExtensionAPI-dbg.js +3 -2
  8. package/src/sap/fe/core/ExtensionAPI.js +1 -1
  9. package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
  10. package/src/sap/fe/core/ExtensionAPI.ts +7 -4
  11. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +10 -3
  12. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +1 -1
  13. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -1
  14. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +8 -1
  15. package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +5 -5
  16. package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  17. package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
  18. package/src/sap/fe/core/controllerextensions/EditFlow.ts +4 -4
  19. package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +17 -10
  20. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  21. package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
  22. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +15 -8
  23. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +14 -16
  24. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
  25. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
  26. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +16 -16
  27. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +2 -4
  28. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
  29. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
  30. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +1 -3
  31. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +1 -1
  32. package/src/sap/fe/core/converters/MetaModelConverter.ts +1 -1
  33. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +3 -4
  34. package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
  35. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
  36. package/src/sap/fe/core/converters/controls/Common/Chart.ts +3 -5
  37. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +2 -2
  38. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  39. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
  40. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +0 -1
  41. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +75 -45
  42. package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  43. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
  44. package/src/sap/fe/core/converters/controls/Common/Table.ts +72 -43
  45. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +4 -6
  46. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  47. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
  48. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +1 -7
  49. package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +7 -3
  50. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +1 -1
  51. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js.map +1 -1
  52. package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +9 -8
  53. package/src/sap/fe/core/fpm/manifest.json +1 -1
  54. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +70 -22
  55. package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
  56. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
  57. package/src/sap/fe/core/helpers/BindingToolkit.ts +107 -26
  58. package/src/sap/fe/core/library-dbg.js +4 -3
  59. package/src/sap/fe/core/library-preload.js +19 -19
  60. package/src/sap/fe/core/library-preload.js.map +1 -1
  61. package/src/sap/fe/core/library.js +1 -1
  62. package/src/sap/fe/core/library.js.map +1 -1
  63. package/src/sap/fe/core/library.ts +1 -1
  64. package/src/sap/fe/core/manifest.json +1 -1
  65. package/src/sap/fe/core/messagebundle.properties +6 -0
  66. package/src/sap/fe/core/messagebundle_ar.properties +5 -1
  67. package/src/sap/fe/core/messagebundle_bg.properties +9 -5
  68. package/src/sap/fe/core/messagebundle_ca.properties +5 -1
  69. package/src/sap/fe/core/messagebundle_cs.properties +7 -3
  70. package/src/sap/fe/core/messagebundle_cy.properties +7 -3
  71. package/src/sap/fe/core/messagebundle_da.properties +7 -3
  72. package/src/sap/fe/core/messagebundle_de.properties +7 -3
  73. package/src/sap/fe/core/messagebundle_el.properties +7 -3
  74. package/src/sap/fe/core/messagebundle_en.properties +7 -3
  75. package/src/sap/fe/core/messagebundle_en_GB.properties +5 -1
  76. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +6 -2
  77. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +6 -2
  78. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +6 -2
  79. package/src/sap/fe/core/messagebundle_es.properties +5 -1
  80. package/src/sap/fe/core/messagebundle_es_MX.properties +5 -1
  81. package/src/sap/fe/core/messagebundle_et.properties +7 -3
  82. package/src/sap/fe/core/messagebundle_fi.properties +7 -3
  83. package/src/sap/fe/core/messagebundle_fr.properties +7 -3
  84. package/src/sap/fe/core/messagebundle_fr_CA.properties +10 -6
  85. package/src/sap/fe/core/messagebundle_hi.properties +7 -3
  86. package/src/sap/fe/core/messagebundle_hr.properties +7 -3
  87. package/src/sap/fe/core/messagebundle_hu.properties +7 -3
  88. package/src/sap/fe/core/messagebundle_id.properties +7 -3
  89. package/src/sap/fe/core/messagebundle_it.properties +13 -9
  90. package/src/sap/fe/core/messagebundle_iw.properties +7 -3
  91. package/src/sap/fe/core/messagebundle_ja.properties +13 -9
  92. package/src/sap/fe/core/messagebundle_kk.properties +7 -3
  93. package/src/sap/fe/core/messagebundle_ko.properties +7 -3
  94. package/src/sap/fe/core/messagebundle_lt.properties +7 -3
  95. package/src/sap/fe/core/messagebundle_lv.properties +5 -1
  96. package/src/sap/fe/core/messagebundle_ms.properties +5 -1
  97. package/src/sap/fe/core/messagebundle_nl.properties +7 -3
  98. package/src/sap/fe/core/messagebundle_no.properties +5 -1
  99. package/src/sap/fe/core/messagebundle_pl.properties +9 -5
  100. package/src/sap/fe/core/messagebundle_pt.properties +7 -3
  101. package/src/sap/fe/core/messagebundle_pt_PT.properties +7 -3
  102. package/src/sap/fe/core/messagebundle_ro.properties +5 -1
  103. package/src/sap/fe/core/messagebundle_ru.properties +7 -3
  104. package/src/sap/fe/core/messagebundle_sh.properties +7 -3
  105. package/src/sap/fe/core/messagebundle_sk.properties +7 -3
  106. package/src/sap/fe/core/messagebundle_sl.properties +5 -1
  107. package/src/sap/fe/core/messagebundle_sv.properties +5 -1
  108. package/src/sap/fe/core/messagebundle_th.properties +7 -3
  109. package/src/sap/fe/core/messagebundle_tr.properties +7 -3
  110. package/src/sap/fe/core/messagebundle_uk.properties +7 -3
  111. package/src/sap/fe/core/messagebundle_vi.properties +7 -3
  112. package/src/sap/fe/core/messagebundle_zh_CN.properties +5 -1
  113. package/src/sap/fe/core/messagebundle_zh_TW.properties +8 -4
  114. package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +8 -2
  115. package/src/sap/fe/core/rootView/Fcl.controller.js +1 -1
  116. package/src/sap/fe/core/rootView/Fcl.controller.js.map +1 -1
  117. package/src/sap/fe/core/rootView/Fcl.controller.ts +8 -1
  118. package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +8 -2
  119. package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
  120. package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
  121. package/src/sap/fe/core/rootView/NavContainer.controller.ts +10 -3
  122. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +30 -14
  123. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  124. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
  125. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +30 -20
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.fe.core",
3
- "version": "1.114.0",
3
+ "version": "1.114.1",
4
4
  "description": "SAPUI5 Library sap.fe.core",
5
5
  "keywords": [
6
6
  "sapui5",
@@ -6,7 +6,7 @@
6
6
  SAP UI development toolkit for HTML5 (SAPUI5)
7
7
  (c) Copyright 2009-2021 SAP SE. All rights reserved
8
8
  </copyright>
9
- <version>1.114.0</version>
9
+ <version>1.114.1</version>
10
10
 
11
11
  <documentation>UI5 library: sap.fe.core</documentation>
12
12
 
@@ -165,6 +165,9 @@ sap.ui.define(["sap/base/Log", "sap/base/util/deepEqual", "sap/fe/core/helpers/C
165
165
  throw new Error(`viewState extension required for controller ${oRootController.getMetadata().getName()}`);
166
166
  }
167
167
  if ((!oAppData || Object.keys(oAppData).length === 0) && sNavType == NavType.iAppState) {
168
+ if (!oRootController.viewState._getInitialStateApplied()) {
169
+ oRootController.viewState._setInitialStateApplied();
170
+ }
168
171
  return {};
169
172
  }
170
173
  return oRootController.viewState.applyViewState(this._mCurrentAppState, this._createNavigationParameters(oAppData, sNavType));
@@ -201,4 +204,4 @@ sap.ui.define(["sap/base/Log", "sap/base/util/deepEqual", "sap/fe/core/helpers/C
201
204
  */
202
205
  return AppStateHandler;
203
206
  }, true);
204
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOYXZUeXBlIiwibGlicmFyeSIsIkFwcFN0YXRlSGFuZGxlciIsImRlZmluZVVJNUNsYXNzIiwib0FwcENvbXBvbmVudCIsIl9tQ3VycmVudEFwcFN0YXRlIiwic0lkIiwiZ2V0SWQiLCJuYlNpbXVsdGFuZW91c0NyZWF0ZVJlcXVlc3QiLCJiTm9Sb3V0ZUNoYW5nZSIsIkxvZyIsImluZm8iLCJjcmVhdGVBcHBTdGF0ZSIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiQXBwU3RhdGUiLCJCdXN5TG9ja2VyIiwiaXNMb2NrZWQiLCJvTmF2aWdhdGlvblNlcnZpY2UiLCJnZXROYXZpZ2F0aW9uU2VydmljZSIsIm9Sb3V0ZXJQcm94eSIsImdldFJvdXRlclByb3h5Iiwic0hhc2giLCJnZXRIYXNoIiwib0NvbnRyb2xsZXIiLCJnZXRSb290Q29udHJvbCIsImdldENvbnRyb2xsZXIiLCJiSXNTdGlja3lNb2RlIiwiTW9kZWxIZWxwZXIiLCJpc1N0aWNreVNlc3Npb25TdXBwb3J0ZWQiLCJnZXRNZXRhTW9kZWwiLCJ2aWV3U3RhdGUiLCJFcnJvciIsImdldE1ldGFkYXRhIiwiZ2V0TmFtZSIsIm1Jbm5lckFwcFN0YXRlIiwicmV0cmlldmVWaWV3U3RhdGUiLCJvU3RvcmVEYXRhIiwiYXBwU3RhdGUiLCJkZWVwRXF1YWwiLCJzQXBwU3RhdGVLZXkiLCJzdG9yZUlubmVyQXBwU3RhdGVBc3luYyIsInNOZXdIYXNoIiwicmVwbGFjZUlubmVyQXBwU3RhdGVLZXkiLCJuYXZUb0hhc2giLCJ1bmRlZmluZWQiLCJvRXJyb3IiLCJlcnJvciIsIl9jcmVhdGVOYXZpZ2F0aW9uUGFyYW1ldGVycyIsIm9BcHBEYXRhIiwic05hdlR5cGUiLCJPYmplY3QiLCJhc3NpZ24iLCJzZWxlY3Rpb25WYXJpYW50RGVmYXVsdHMiLCJvRGVmYXVsdGVkU2VsZWN0aW9uVmFyaWFudCIsInNlbGVjdGlvblZhcmlhbnQiLCJvU2VsZWN0aW9uVmFyaWFudCIsInJlcXVpcmVzU3RhbmRhcmRWYXJpYW50IiwiYk5hdlNlbFZhckhhc0RlZmF1bHRzT25seSIsIm5hdmlnYXRpb25UeXBlIiwiX2NoZWNrSWZMYXN0U2VlblJlY29yZCIsInZpZXciLCJpbnRlcm5hbE1vZGVsQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0IiwiZ2V0UHJvcGVydHkiLCJ0ZWNobmljYWxLZXlzT2JqZWN0IiwiYmluZGluZ0NvbnRleHQiLCJwYXRoIiwiZ2V0UGF0aCIsIm1ldGFNb2RlbCIsImdldE1vZGVsIiwibWV0YVBhdGgiLCJnZXRNZXRhUGF0aCIsInRlY2huaWNhbEtleXMiLCJnZXRPYmplY3QiLCJpIiwibGVuZ3RoIiwia2V5VmFsdWUiLCJzZXRQcm9wZXJ0eSIsIl9nZXRBcHBTdGF0ZURhdGEiLCJ2aWV3SWQiLCJuYXZUeXBlIiwia2V5IiwiYXBwU3RhdGVEYXRhIiwiaHlicmlkIiwiaUFwcFN0YXRlIiwia2V5cyIsImFwcGx5QXBwU3RhdGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNoZWNrSWZMYXN0U2VlblJlY29yZCIsImxvY2siLCJ0b0VTNlByb21pc2UiLCJwYXJzZU5hdmlnYXRpb24iLCJjYXRjaCIsImFFcnJvckRhdGEiLCJ3YXJuaW5nIiwidGhlbiIsImFSZXN1bHRzIiwiaW5pdGlhbCIsIm9Sb290Q29udHJvbGxlciIsImFwcGx5Vmlld1N0YXRlIiwiZmluYWxseSIsInVubG9jayIsImNoZWNrSWZSb3V0ZUNoYW5nZWRCeUlBcHAiLCJyZXNldFJvdXRlQ2hhbmdlZEJ5SUFwcCIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkFwcFN0YXRlSGFuZGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBkZWVwRXF1YWwgZnJvbSBcInNhcC9iYXNlL3V0aWwvZGVlcEVxdWFsXCI7XG5pbXBvcnQgdHlwZSBBcHBDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBOYXZpZ2F0aW9uUGFyYW1ldGVyIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1ZpZXdTdGF0ZVwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxNb2RlbENvbnRleHQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IHRvRVM2UHJvbWlzZSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Ub0VTNlByb21pc2VcIjtcbmltcG9ydCBsaWJyYXJ5IGZyb20gXCJzYXAvZmUvbmF2aWdhdGlvbi9saWJyYXJ5XCI7XG5pbXBvcnQgQmFzZU9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvT2JqZWN0XCI7XG5pbXBvcnQgdHlwZSBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBCdXN5TG9ja2VyIGZyb20gXCIuL2NvbnRyb2xsZXJleHRlbnNpb25zL0J1c3lMb2NrZXJcIjtcbmltcG9ydCBNb2RlbEhlbHBlciBmcm9tIFwiLi9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5cbmNvbnN0IE5hdlR5cGUgPSBsaWJyYXJ5Lk5hdlR5cGU7XG50eXBlIEFwcFN0YXRlID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG50eXBlIEFwcERhdGEgPSB7XG5cdG9EZWZhdWx0ZWRTZWxlY3Rpb25WYXJpYW50OiBvYmplY3Q7XG5cdG9TZWxlY3Rpb25WYXJpYW50OiBvYmplY3Q7XG5cdGJOYXZTZWxWYXJIYXNEZWZhdWx0c09ubHk6IGJvb2xlYW47XG5cdGFwcFN0YXRlOiBBcHBTdGF0ZTtcblx0aUFwcFN0YXRlPzoge1xuXHRcdGFwcFN0YXRlOiBBcHBTdGF0ZTtcblx0fVxufTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuQXBwU3RhdGVIYW5kbGVyXCIpXG5jbGFzcyBBcHBTdGF0ZUhhbmRsZXIgZXh0ZW5kcyBCYXNlT2JqZWN0IHtcblx0cHVibGljIHNJZDogc3RyaW5nO1xuXG5cdHB1YmxpYyBvQXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQ7XG5cblx0cHVibGljIGJOb1JvdXRlQ2hhbmdlOiBib29sZWFuO1xuXG5cdHByaXZhdGUgX21DdXJyZW50QXBwU3RhdGU/OiBBcHBTdGF0ZSA9IHt9O1xuXG5cdG5iU2ltdWx0YW5lb3VzQ3JlYXRlUmVxdWVzdDogbnVtYmVyO1xuXG5cdGNvbnN0cnVjdG9yKG9BcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5vQXBwQ29tcG9uZW50ID0gb0FwcENvbXBvbmVudDtcblx0XHR0aGlzLnNJZCA9IGAke29BcHBDb21wb25lbnQuZ2V0SWQoKX0vQXBwU3RhdGVIYW5kbGVyYDtcblx0XHR0aGlzLm5iU2ltdWx0YW5lb3VzQ3JlYXRlUmVxdWVzdCA9IDA7XG5cdFx0dGhpcy5iTm9Sb3V0ZUNoYW5nZSA9IGZhbHNlO1xuXHRcdExvZy5pbmZvKFwiQVBQU1RBVEUgOiBBcHBzdGF0ZSBoYW5kbGVyIGluaXRpYWxpemVkXCIpO1xuXHR9XG5cblx0Z2V0SWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuc0lkO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgb3IgdXBkYXRlcyB0aGUgYXBwc3RhdGUuXG5cdCAqXG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSByZXNvbHZpbmcgdGhlIHN0b3JlZCBkYXRhXG5cdCAqIEB1aTUtcmVzdHJpY3RlZFxuXHQgKi9cblx0YXN5bmMgY3JlYXRlQXBwU3RhdGUoKTogUHJvbWlzZTx2b2lkIHwgeyBhcHBTdGF0ZTogb2JqZWN0IH0+IHtcblx0XHRpZiAoIXRoaXMub0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpLkFwcFN0YXRlIHx8IEJ1c3lMb2NrZXIuaXNMb2NrZWQodGhpcykpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBvTmF2aWdhdGlvblNlcnZpY2UgPSB0aGlzLm9BcHBDb21wb25lbnQuZ2V0TmF2aWdhdGlvblNlcnZpY2UoKSxcblx0XHRcdG9Sb3V0ZXJQcm94eSA9IHRoaXMub0FwcENvbXBvbmVudC5nZXRSb3V0ZXJQcm94eSgpLFxuXHRcdFx0c0hhc2ggPSBvUm91dGVyUHJveHkuZ2V0SGFzaCgpLFxuXHRcdFx0b0NvbnRyb2xsZXIgPSB0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um9vdENvbnRyb2woKS5nZXRDb250cm9sbGVyKCksXG5cdFx0XHRiSXNTdGlja3lNb2RlID0gTW9kZWxIZWxwZXIuaXNTdGlja3lTZXNzaW9uU3VwcG9ydGVkKHRoaXMub0FwcENvbXBvbmVudC5nZXRNZXRhTW9kZWwoKSk7XG5cblx0XHRpZiAoIW9Db250cm9sbGVyLnZpZXdTdGF0ZSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGB2aWV3U3RhdGUgY29udHJvbGxlciBleHRlbnNpb24gbm90IGF2YWlsYWJsZSBmb3IgY29udHJvbGxlcjogJHtvQ29udHJvbGxlci5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKX1gKTtcblx0XHR9XG5cblx0XHRjb25zdCBtSW5uZXJBcHBTdGF0ZSA9IGF3YWl0IG9Db250cm9sbGVyLnZpZXdTdGF0ZS5yZXRyaWV2ZVZpZXdTdGF0ZSgpO1xuXHRcdGNvbnN0IG9TdG9yZURhdGEgPSB7IGFwcFN0YXRlOiBtSW5uZXJBcHBTdGF0ZSB9O1xuXHRcdGlmIChtSW5uZXJBcHBTdGF0ZSAmJiAhZGVlcEVxdWFsKHRoaXMuX21DdXJyZW50QXBwU3RhdGUsIG1Jbm5lckFwcFN0YXRlKSkge1xuXHRcdFx0dGhpcy5fbUN1cnJlbnRBcHBTdGF0ZSA9IG1Jbm5lckFwcFN0YXRlO1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0dGhpcy5uYlNpbXVsdGFuZW91c0NyZWF0ZVJlcXVlc3QrKztcblx0XHRcdFx0Y29uc3Qgc0FwcFN0YXRlS2V5ID0gYXdhaXQgb05hdmlnYXRpb25TZXJ2aWNlLnN0b3JlSW5uZXJBcHBTdGF0ZUFzeW5jKG9TdG9yZURhdGEsIHRydWUsIHRydWUpO1xuXHRcdFx0XHRMb2cuaW5mbyhcIkFQUFNUQVRFOiBBcHBzdGF0ZSBzdG9yZWRcIik7XG5cdFx0XHRcdGNvbnN0IHNOZXdIYXNoID0gb05hdmlnYXRpb25TZXJ2aWNlLnJlcGxhY2VJbm5lckFwcFN0YXRlS2V5KHNIYXNoLCBzQXBwU3RhdGVLZXkpO1xuXHRcdFx0XHR0aGlzLm5iU2ltdWx0YW5lb3VzQ3JlYXRlUmVxdWVzdC0tO1xuXHRcdFx0XHRpZiAodGhpcy5uYlNpbXVsdGFuZW91c0NyZWF0ZVJlcXVlc3QgPT09IDAgJiYgc05ld0hhc2ggIT09IHNIYXNoKSB7XG5cdFx0XHRcdFx0b1JvdXRlclByb3h5Lm5hdlRvSGFzaChzTmV3SGFzaCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgIWJJc1N0aWNreU1vZGUpO1xuXHRcdFx0XHRcdHRoaXMuYk5vUm91dGVDaGFuZ2UgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdExvZy5pbmZvKFwiQVBQU1RBVEU6IG5hdlRvSGFzaFwiKTtcblx0XHRcdH0gY2F0Y2ggKG9FcnJvcjogdW5rbm93bikge1xuXHRcdFx0XHRMb2cuZXJyb3Iob0Vycm9yIGFzIHN0cmluZyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9TdG9yZURhdGE7XG5cdH1cblxuXHRfY3JlYXRlTmF2aWdhdGlvblBhcmFtZXRlcnMob0FwcERhdGE6IEFwcERhdGEsIHNOYXZUeXBlOiBzdHJpbmcpOiBOYXZpZ2F0aW9uUGFyYW1ldGVyIHtcblx0XHRyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgb0FwcERhdGEsIHtcblx0XHRcdHNlbGVjdGlvblZhcmlhbnREZWZhdWx0czogb0FwcERhdGEub0RlZmF1bHRlZFNlbGVjdGlvblZhcmlhbnQsXG5cdFx0XHRzZWxlY3Rpb25WYXJpYW50OiBvQXBwRGF0YS5vU2VsZWN0aW9uVmFyaWFudCxcblx0XHRcdHJlcXVpcmVzU3RhbmRhcmRWYXJpYW50OiAhb0FwcERhdGEuYk5hdlNlbFZhckhhc0RlZmF1bHRzT25seSxcblx0XHRcdG5hdmlnYXRpb25UeXBlOiBzTmF2VHlwZVxuXHRcdH0pO1xuXHR9XG5cblx0X2NoZWNrSWZMYXN0U2VlblJlY29yZCh2aWV3PzogVmlldykge1xuXHRcdC8vZ2V0dGluZyB0aGUgaW50ZXJuYWwgbW9kZWwgY29udGV4dCBpbiBvcmRlciB0byBmZXRjaCB0aGUgdGVjaG5pY2Fsa2V5cyBvZiBsYXN0IHNlZW4gcmVjb3JkIGFuZCBjbG9zZSBjb2x1bW4gZmxhZyBzZXQgaW4gdGhlIGludGVybmFscm91dGluZyBmb3IgcmV0YWluaW5nIHNldHRpbmdzIGluIHBlcnNpc3RlbmNlIG1vZGVcblx0XHRjb25zdCBpbnRlcm5hbE1vZGVsQ29udGV4dCA9IHZpZXcgJiYgKHZpZXcuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKSBhcyBJbnRlcm5hbE1vZGVsQ29udGV4dCk7XG5cdFx0aWYgKGludGVybmFsTW9kZWxDb250ZXh0ICYmIGludGVybmFsTW9kZWxDb250ZXh0LmdldFByb3BlcnR5KFwiZmNsQ29sdW1uQ2xvc2VkXCIpID09PSB0cnVlKSB7XG5cdFx0XHRjb25zdCB0ZWNobmljYWxLZXlzT2JqZWN0ID0gaW50ZXJuYWxNb2RlbENvbnRleHQgJiYgaW50ZXJuYWxNb2RlbENvbnRleHQuZ2V0UHJvcGVydHkoXCJ0ZWNobmljYWxLZXlzT2ZMYXN0U2VlblJlY29yZFwiKTtcblx0XHRcdGNvbnN0IGJpbmRpbmdDb250ZXh0ID0gdmlldz8uZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdFx0Y29uc3QgcGF0aCA9IChiaW5kaW5nQ29udGV4dCAmJiBiaW5kaW5nQ29udGV4dC5nZXRQYXRoKCkpIHx8IFwiXCI7XG5cdFx0XHRjb25zdCBtZXRhTW9kZWwgPSBiaW5kaW5nQ29udGV4dD8uZ2V0TW9kZWwoKS5nZXRNZXRhTW9kZWwoKTtcblx0XHRcdGNvbnN0IG1ldGFQYXRoID0gbWV0YU1vZGVsPy5nZXRNZXRhUGF0aChwYXRoKTtcblx0XHRcdGNvbnN0IHRlY2huaWNhbEtleXMgPSBtZXRhTW9kZWw/LmdldE9iamVjdChgJHttZXRhUGF0aH0vJFR5cGUvJEtleWApO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0ZWNobmljYWxLZXlzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGNvbnN0IGtleVZhbHVlID0gYmluZGluZ0NvbnRleHQuZ2V0T2JqZWN0KClbdGVjaG5pY2FsS2V5c1tpXV07XG5cdFx0XHRcdGlmIChrZXlWYWx1ZSAhPT0gdGVjaG5pY2FsS2V5c09iamVjdFt0ZWNobmljYWxLZXlzW2ldXSkge1xuXHRcdFx0XHRcdGludGVybmFsTW9kZWxDb250ZXh0LnNldFByb3BlcnR5KFwiZmNsQ29sdW1uQ2xvc2VkXCIsIGZhbHNlKTtcblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ly90aGUgcmVjb3JkIG9wZW5lZCBpcyBub3QgdGhlIGxhc3Qgc2VlbiBvbmUgOiBubyBuZWVkIHRvIHBlcnNpc3QgdGhlIGNoYW5nZXMsIHJlc2V0IHRvIGRlZmF1bHQgaW5zdGVhZFxuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRfZ2V0QXBwU3RhdGVEYXRhKG9BcHBEYXRhOiBBcHBEYXRhLCB2aWV3SWQ/OiBzdHJpbmcsIG5hdlR5cGU/OiBzdHJpbmcpIHtcblx0XHRsZXQga2V5ID0gXCJcIixcblx0XHRcdGkgPSAwO1xuXHRcdGNvbnN0IGFwcFN0YXRlRGF0YSA9IG5hdlR5cGUgPT09IE5hdlR5cGUuaHlicmlkID8gb0FwcERhdGEuaUFwcFN0YXRlIDogb0FwcERhdGE7XG5cblx0XHRpZiAoYXBwU3RhdGVEYXRhPy5hcHBTdGF0ZSkge1xuXHRcdFx0Zm9yIChpID0gMDsgaSA8IE9iamVjdC5rZXlzKGFwcFN0YXRlRGF0YS5hcHBTdGF0ZSkubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKGFwcFN0YXRlRGF0YS5hcHBTdGF0ZSlbaV0gPT09IHZpZXdJZCkge1xuXHRcdFx0XHRcdGtleSA9IE9iamVjdC5rZXlzKGFwcFN0YXRlRGF0YS5hcHBTdGF0ZSlbaV07XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0aWYgKGFwcFN0YXRlRGF0YT8uYXBwU3RhdGUpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFtPYmplY3Qua2V5cyhhcHBTdGF0ZURhdGEuYXBwU3RhdGUpW2ldXTogYXBwU3RhdGVEYXRhLmFwcFN0YXRlW2tleV0gfHwge31cblx0XHRcdH07XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEFwcGxpZXMgYW4gYXBwc3RhdGUgYnkgZmV0Y2hpbmcgYXBwZGF0YSBhbmQgcGFzc2luZyBpdCB0byBfYXBwbHlBcHBzdGF0ZVRvUGFnZS5cblx0ICpcblx0ICogQHBhcmFtIHZpZXdJZFxuXHQgKiBAcGFyYW0gdmlld1xuXHQgKiBAZnVuY3Rpb25cblx0ICogQHN0YXRpY1xuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuQXBwU3RhdGVIYW5kbGVyXG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSBmb3IgYXN5bmMgaGFuZGxpbmdcblx0ICogQHByaXZhdGVcblx0ICogQHVpNS1yZXN0cmljdGVkXG5cdCAqL1xuXHRhc3luYyBhcHBseUFwcFN0YXRlKHZpZXdJZD86IHN0cmluZywgdmlldz86IFZpZXcpIHtcblx0XHRpZiAoIXRoaXMub0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpLkFwcFN0YXRlIHx8IEJ1c3lMb2NrZXIuaXNMb2NrZWQodGhpcykpIHtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0XHR9XG5cblx0XHRjb25zdCBjaGVja0lmTGFzdFNlZW5SZWNvcmQgPSB0aGlzLl9jaGVja0lmTGFzdFNlZW5SZWNvcmQodmlldyk7XG5cdFx0aWYgKGNoZWNrSWZMYXN0U2VlblJlY29yZCA9PT0gdHJ1ZSkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblxuXHRcdEJ1c3lMb2NrZXIubG9jayh0aGlzKTtcblx0XHQvLyBEb25lIGZvciBidXN5IGluZGljYXRvclxuXHRcdEJ1c3lMb2NrZXIubG9jayh0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um9vdENvbnRyb2woKSk7XG5cdFx0Y29uc3Qgb05hdmlnYXRpb25TZXJ2aWNlID0gdGhpcy5vQXBwQ29tcG9uZW50LmdldE5hdmlnYXRpb25TZXJ2aWNlKCk7XG5cdFx0Ly8gVE9ETyBvTmF2aWdhdGlvblNlcnZpY2UucGFyc2VOYXZpZ2F0aW9uKCkgc2hvdWxkIHJldHVybiBFUzYgcHJvbWlzZSBpbnN0ZWFkIGpRdWVyeS5wcm9taXNlXG5cdFx0cmV0dXJuIHRvRVM2UHJvbWlzZShvTmF2aWdhdGlvblNlcnZpY2UucGFyc2VOYXZpZ2F0aW9uKCkpXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKGFFcnJvckRhdGE6IHVua25vd25bXSkge1xuXHRcdFx0XHRpZiAoIWFFcnJvckRhdGEpIHtcblx0XHRcdFx0XHRhRXJyb3JEYXRhID0gW107XG5cdFx0XHRcdH1cblx0XHRcdFx0TG9nLndhcm5pbmcoXCJBUFBTVEFURTogUGFyc2UgTmF2aWdhdGlvbiBmYWlsZWRcIiwgYUVycm9yRGF0YVswXSBhcyBzdHJpbmcpO1xuXHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdC8qIGFwcCBkYXRhICovXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRhRXJyb3JEYXRhWzFdLFxuXHRcdFx0XHRcdGFFcnJvckRhdGFbMl1cblx0XHRcdFx0XTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbigoYVJlc3VsdHM6IHVua25vd25bXSkgPT4ge1xuXHRcdFx0XHRMb2cuaW5mbyhcIkFQUFNUQVRFOiBQYXJzZSBOYXZpZ2F0aW9uIGRvbmVcIik7XG5cblx0XHRcdFx0Ly8gYVJlc3VsdHNbMV0gPT4gb1N0YXJ0dXBQYXJhbWV0ZXJzIChub3QgZXZhbHVhdGVkKVxuXHRcdFx0XHRjb25zdCBvQXBwRGF0YSA9IChhUmVzdWx0c1swXSB8fCB7fSkgYXMgQXBwRGF0YSxcblx0XHRcdFx0XHRzTmF2VHlwZSA9IChhUmVzdWx0c1syXSBhcyBzdHJpbmcpIHx8IE5hdlR5cGUuaW5pdGlhbCxcblx0XHRcdFx0XHRvUm9vdENvbnRyb2xsZXIgPSB0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um9vdENvbnRyb2woKS5nZXRDb250cm9sbGVyKCk7XG5cdFx0XHRcdC8vIGFwcGx5IHRoZSBhcHBzdGF0ZSBkZXBlbmRpbmcgdXBvbiB0aGUgdmlldyAoTFIvT1ApXG5cdFx0XHRcdGNvbnN0IGFwcFN0YXRlRGF0YSA9IHRoaXMuX2dldEFwcFN0YXRlRGF0YShvQXBwRGF0YSwgdmlld0lkLCBzTmF2VHlwZSk7XG5cdFx0XHRcdHRoaXMuX21DdXJyZW50QXBwU3RhdGUgPSBzTmF2VHlwZSA9PT0gTmF2VHlwZS5pQXBwU3RhdGUgfHwgc05hdlR5cGUgPT09IE5hdlR5cGUuaHlicmlkID8gYXBwU3RhdGVEYXRhIDogdW5kZWZpbmVkO1xuXG5cdFx0XHRcdGlmICghb1Jvb3RDb250cm9sbGVyLnZpZXdTdGF0ZSkge1xuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihgdmlld1N0YXRlIGV4dGVuc2lvbiByZXF1aXJlZCBmb3IgY29udHJvbGxlciAke29Sb290Q29udHJvbGxlci5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKX1gKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoKCFvQXBwRGF0YSB8fCBPYmplY3Qua2V5cyhvQXBwRGF0YSkubGVuZ3RoID09PSAwKSAmJiBzTmF2VHlwZSA9PSBOYXZUeXBlLmlBcHBTdGF0ZSkge1xuXHRcdFx0XHRcdHJldHVybiB7fTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gb1Jvb3RDb250cm9sbGVyLnZpZXdTdGF0ZS5hcHBseVZpZXdTdGF0ZShcblx0XHRcdFx0XHR0aGlzLl9tQ3VycmVudEFwcFN0YXRlLFxuXHRcdFx0XHRcdHRoaXMuX2NyZWF0ZU5hdmlnYXRpb25QYXJhbWV0ZXJzKG9BcHBEYXRhLCBzTmF2VHlwZSlcblx0XHRcdFx0KTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKG9FcnJvcjogdW5rbm93bikge1xuXHRcdFx0XHRMb2cuZXJyb3IoXCJhcHBTdGF0ZSBjb3VsZCBub3QgYmUgYXBwbGllZFwiLCBvRXJyb3IgYXMgc3RyaW5nKTtcblx0XHRcdFx0dGhyb3cgb0Vycm9yO1xuXHRcdFx0fSlcblx0XHRcdC5maW5hbGx5KCgpID0+IHtcblx0XHRcdFx0QnVzeUxvY2tlci51bmxvY2sodGhpcyk7XG5cdFx0XHRcdEJ1c3lMb2NrZXIudW5sb2NrKHRoaXMub0FwcENvbXBvbmVudC5nZXRSb290Q29udHJvbCgpKTtcblx0XHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRvIGNoZWNrIGlzIHJvdXRlIGlzIGNoYW5nZWQgYnkgY2hhbmdlIGluIHRoZSBpQVBQU3RhdGUuXG5cdCAqXG5cdCAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcm91dGUgaGFzIGNobmFnZWRcblx0ICovXG5cdGNoZWNrSWZSb3V0ZUNoYW5nZWRCeUlBcHAoKSB7XG5cdFx0cmV0dXJuIHRoaXMuYk5vUm91dGVDaGFuZ2U7XG5cdH1cblxuXHQvKipcblx0ICogUmVzZXQgdGhlIHJvdXRlIGNoYW5nZWQgYnkgaUFQUFN0YXRlLlxuXHQgKi9cblx0cmVzZXRSb3V0ZUNoYW5nZWRCeUlBcHAoKSB7XG5cdFx0aWYgKHRoaXMuYk5vUm91dGVDaGFuZ2UpIHtcblx0XHRcdHRoaXMuYk5vUm91dGVDaGFuZ2UgPSBmYWxzZTtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBAZ2xvYmFsXG4gKi9cbmV4cG9ydCBkZWZhdWx0IEFwcFN0YXRlSGFuZGxlcjtcbiJdLCJtYXBwaW5ncyI6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
207
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOYXZUeXBlIiwibGlicmFyeSIsIkFwcFN0YXRlSGFuZGxlciIsImRlZmluZVVJNUNsYXNzIiwib0FwcENvbXBvbmVudCIsIl9tQ3VycmVudEFwcFN0YXRlIiwic0lkIiwiZ2V0SWQiLCJuYlNpbXVsdGFuZW91c0NyZWF0ZVJlcXVlc3QiLCJiTm9Sb3V0ZUNoYW5nZSIsIkxvZyIsImluZm8iLCJjcmVhdGVBcHBTdGF0ZSIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiQXBwU3RhdGUiLCJCdXN5TG9ja2VyIiwiaXNMb2NrZWQiLCJvTmF2aWdhdGlvblNlcnZpY2UiLCJnZXROYXZpZ2F0aW9uU2VydmljZSIsIm9Sb3V0ZXJQcm94eSIsImdldFJvdXRlclByb3h5Iiwic0hhc2giLCJnZXRIYXNoIiwib0NvbnRyb2xsZXIiLCJnZXRSb290Q29udHJvbCIsImdldENvbnRyb2xsZXIiLCJiSXNTdGlja3lNb2RlIiwiTW9kZWxIZWxwZXIiLCJpc1N0aWNreVNlc3Npb25TdXBwb3J0ZWQiLCJnZXRNZXRhTW9kZWwiLCJ2aWV3U3RhdGUiLCJFcnJvciIsImdldE1ldGFkYXRhIiwiZ2V0TmFtZSIsIm1Jbm5lckFwcFN0YXRlIiwicmV0cmlldmVWaWV3U3RhdGUiLCJvU3RvcmVEYXRhIiwiYXBwU3RhdGUiLCJkZWVwRXF1YWwiLCJzQXBwU3RhdGVLZXkiLCJzdG9yZUlubmVyQXBwU3RhdGVBc3luYyIsInNOZXdIYXNoIiwicmVwbGFjZUlubmVyQXBwU3RhdGVLZXkiLCJuYXZUb0hhc2giLCJ1bmRlZmluZWQiLCJvRXJyb3IiLCJlcnJvciIsIl9jcmVhdGVOYXZpZ2F0aW9uUGFyYW1ldGVycyIsIm9BcHBEYXRhIiwic05hdlR5cGUiLCJPYmplY3QiLCJhc3NpZ24iLCJzZWxlY3Rpb25WYXJpYW50RGVmYXVsdHMiLCJvRGVmYXVsdGVkU2VsZWN0aW9uVmFyaWFudCIsInNlbGVjdGlvblZhcmlhbnQiLCJvU2VsZWN0aW9uVmFyaWFudCIsInJlcXVpcmVzU3RhbmRhcmRWYXJpYW50IiwiYk5hdlNlbFZhckhhc0RlZmF1bHRzT25seSIsIm5hdmlnYXRpb25UeXBlIiwiX2NoZWNrSWZMYXN0U2VlblJlY29yZCIsInZpZXciLCJpbnRlcm5hbE1vZGVsQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0IiwiZ2V0UHJvcGVydHkiLCJ0ZWNobmljYWxLZXlzT2JqZWN0IiwiYmluZGluZ0NvbnRleHQiLCJwYXRoIiwiZ2V0UGF0aCIsIm1ldGFNb2RlbCIsImdldE1vZGVsIiwibWV0YVBhdGgiLCJnZXRNZXRhUGF0aCIsInRlY2huaWNhbEtleXMiLCJnZXRPYmplY3QiLCJpIiwibGVuZ3RoIiwia2V5VmFsdWUiLCJzZXRQcm9wZXJ0eSIsIl9nZXRBcHBTdGF0ZURhdGEiLCJ2aWV3SWQiLCJuYXZUeXBlIiwia2V5IiwiYXBwU3RhdGVEYXRhIiwiaHlicmlkIiwiaUFwcFN0YXRlIiwia2V5cyIsImFwcGx5QXBwU3RhdGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNoZWNrSWZMYXN0U2VlblJlY29yZCIsImxvY2siLCJ0b0VTNlByb21pc2UiLCJwYXJzZU5hdmlnYXRpb24iLCJjYXRjaCIsImFFcnJvckRhdGEiLCJ3YXJuaW5nIiwidGhlbiIsImFSZXN1bHRzIiwiaW5pdGlhbCIsIm9Sb290Q29udHJvbGxlciIsIl9nZXRJbml0aWFsU3RhdGVBcHBsaWVkIiwiX3NldEluaXRpYWxTdGF0ZUFwcGxpZWQiLCJhcHBseVZpZXdTdGF0ZSIsImZpbmFsbHkiLCJ1bmxvY2siLCJjaGVja0lmUm91dGVDaGFuZ2VkQnlJQXBwIiwicmVzZXRSb3V0ZUNoYW5nZWRCeUlBcHAiLCJCYXNlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBcHBTdGF0ZUhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgZGVlcEVxdWFsIGZyb20gXCJzYXAvYmFzZS91dGlsL2RlZXBFcXVhbFwiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgTmF2aWdhdGlvblBhcmFtZXRlciB9IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9WaWV3U3RhdGVcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsTW9kZWxDb250ZXh0IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0b0VTNlByb21pc2UgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVG9FUzZQcm9taXNlXCI7XG5pbXBvcnQgbGlicmFyeSBmcm9tIFwic2FwL2ZlL25hdmlnYXRpb24vbGlicmFyeVwiO1xuaW1wb3J0IEJhc2VPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL09iamVjdFwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgQnVzeUxvY2tlciBmcm9tIFwiLi9jb250cm9sbGVyZXh0ZW5zaW9ucy9CdXN5TG9ja2VyXCI7XG5pbXBvcnQgTW9kZWxIZWxwZXIgZnJvbSBcIi4vaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuXG5jb25zdCBOYXZUeXBlID0gbGlicmFyeS5OYXZUeXBlO1xudHlwZSBBcHBTdGF0ZSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xudHlwZSBBcHBEYXRhID0ge1xuXHRvRGVmYXVsdGVkU2VsZWN0aW9uVmFyaWFudDogb2JqZWN0O1xuXHRvU2VsZWN0aW9uVmFyaWFudDogb2JqZWN0O1xuXHRiTmF2U2VsVmFySGFzRGVmYXVsdHNPbmx5OiBib29sZWFuO1xuXHRhcHBTdGF0ZTogQXBwU3RhdGU7XG5cdGlBcHBTdGF0ZT86IHtcblx0XHRhcHBTdGF0ZTogQXBwU3RhdGU7XG5cdH07XG59O1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5BcHBTdGF0ZUhhbmRsZXJcIilcbmNsYXNzIEFwcFN0YXRlSGFuZGxlciBleHRlbmRzIEJhc2VPYmplY3Qge1xuXHRwdWJsaWMgc0lkOiBzdHJpbmc7XG5cblx0cHVibGljIG9BcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudDtcblxuXHRwdWJsaWMgYk5vUm91dGVDaGFuZ2U6IGJvb2xlYW47XG5cblx0cHJpdmF0ZSBfbUN1cnJlbnRBcHBTdGF0ZT86IEFwcFN0YXRlID0ge307XG5cblx0bmJTaW11bHRhbmVvdXNDcmVhdGVSZXF1ZXN0OiBudW1iZXI7XG5cblx0Y29uc3RydWN0b3Iob0FwcENvbXBvbmVudDogQXBwQ29tcG9uZW50KSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLm9BcHBDb21wb25lbnQgPSBvQXBwQ29tcG9uZW50O1xuXHRcdHRoaXMuc0lkID0gYCR7b0FwcENvbXBvbmVudC5nZXRJZCgpfS9BcHBTdGF0ZUhhbmRsZXJgO1xuXHRcdHRoaXMubmJTaW11bHRhbmVvdXNDcmVhdGVSZXF1ZXN0ID0gMDtcblx0XHR0aGlzLmJOb1JvdXRlQ2hhbmdlID0gZmFsc2U7XG5cdFx0TG9nLmluZm8oXCJBUFBTVEFURSA6IEFwcHN0YXRlIGhhbmRsZXIgaW5pdGlhbGl6ZWRcIik7XG5cdH1cblxuXHRnZXRJZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5zSWQ7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBvciB1cGRhdGVzIHRoZSBhcHBzdGF0ZS5cblx0ICpcblx0ICogQHJldHVybnMgQSBwcm9taXNlIHJlc29sdmluZyB0aGUgc3RvcmVkIGRhdGFcblx0ICogQHVpNS1yZXN0cmljdGVkXG5cdCAqL1xuXHRhc3luYyBjcmVhdGVBcHBTdGF0ZSgpOiBQcm9taXNlPHZvaWQgfCB7IGFwcFN0YXRlOiBvYmplY3QgfT4ge1xuXHRcdGlmICghdGhpcy5vQXBwQ29tcG9uZW50LmdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzKCkuZ2V0Q2FwYWJpbGl0aWVzKCkuQXBwU3RhdGUgfHwgQnVzeUxvY2tlci5pc0xvY2tlZCh0aGlzKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IG9OYXZpZ2F0aW9uU2VydmljZSA9IHRoaXMub0FwcENvbXBvbmVudC5nZXROYXZpZ2F0aW9uU2VydmljZSgpLFxuXHRcdFx0b1JvdXRlclByb3h5ID0gdGhpcy5vQXBwQ29tcG9uZW50LmdldFJvdXRlclByb3h5KCksXG5cdFx0XHRzSGFzaCA9IG9Sb3V0ZXJQcm94eS5nZXRIYXNoKCksXG5cdFx0XHRvQ29udHJvbGxlciA9IHRoaXMub0FwcENvbXBvbmVudC5nZXRSb290Q29udHJvbCgpLmdldENvbnRyb2xsZXIoKSxcblx0XHRcdGJJc1N0aWNreU1vZGUgPSBNb2RlbEhlbHBlci5pc1N0aWNreVNlc3Npb25TdXBwb3J0ZWQodGhpcy5vQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpKTtcblxuXHRcdGlmICghb0NvbnRyb2xsZXIudmlld1N0YXRlKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYHZpZXdTdGF0ZSBjb250cm9sbGVyIGV4dGVuc2lvbiBub3QgYXZhaWxhYmxlIGZvciBjb250cm9sbGVyOiAke29Db250cm9sbGVyLmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpfWApO1xuXHRcdH1cblxuXHRcdGNvbnN0IG1Jbm5lckFwcFN0YXRlID0gYXdhaXQgb0NvbnRyb2xsZXIudmlld1N0YXRlLnJldHJpZXZlVmlld1N0YXRlKCk7XG5cdFx0Y29uc3Qgb1N0b3JlRGF0YSA9IHsgYXBwU3RhdGU6IG1Jbm5lckFwcFN0YXRlIH07XG5cdFx0aWYgKG1Jbm5lckFwcFN0YXRlICYmICFkZWVwRXF1YWwodGhpcy5fbUN1cnJlbnRBcHBTdGF0ZSwgbUlubmVyQXBwU3RhdGUpKSB7XG5cdFx0XHR0aGlzLl9tQ3VycmVudEFwcFN0YXRlID0gbUlubmVyQXBwU3RhdGU7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHR0aGlzLm5iU2ltdWx0YW5lb3VzQ3JlYXRlUmVxdWVzdCsrO1xuXHRcdFx0XHRjb25zdCBzQXBwU3RhdGVLZXkgPSBhd2FpdCBvTmF2aWdhdGlvblNlcnZpY2Uuc3RvcmVJbm5lckFwcFN0YXRlQXN5bmMob1N0b3JlRGF0YSwgdHJ1ZSwgdHJ1ZSk7XG5cdFx0XHRcdExvZy5pbmZvKFwiQVBQU1RBVEU6IEFwcHN0YXRlIHN0b3JlZFwiKTtcblx0XHRcdFx0Y29uc3Qgc05ld0hhc2ggPSBvTmF2aWdhdGlvblNlcnZpY2UucmVwbGFjZUlubmVyQXBwU3RhdGVLZXkoc0hhc2gsIHNBcHBTdGF0ZUtleSk7XG5cdFx0XHRcdHRoaXMubmJTaW11bHRhbmVvdXNDcmVhdGVSZXF1ZXN0LS07XG5cdFx0XHRcdGlmICh0aGlzLm5iU2ltdWx0YW5lb3VzQ3JlYXRlUmVxdWVzdCA9PT0gMCAmJiBzTmV3SGFzaCAhPT0gc0hhc2gpIHtcblx0XHRcdFx0XHRvUm91dGVyUHJveHkubmF2VG9IYXNoKHNOZXdIYXNoLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAhYklzU3RpY2t5TW9kZSk7XG5cdFx0XHRcdFx0dGhpcy5iTm9Sb3V0ZUNoYW5nZSA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0TG9nLmluZm8oXCJBUFBTVEFURTogbmF2VG9IYXNoXCIpO1xuXHRcdFx0fSBjYXRjaCAob0Vycm9yOiB1bmtub3duKSB7XG5cdFx0XHRcdExvZy5lcnJvcihvRXJyb3IgYXMgc3RyaW5nKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gb1N0b3JlRGF0YTtcblx0fVxuXG5cdF9jcmVhdGVOYXZpZ2F0aW9uUGFyYW1ldGVycyhvQXBwRGF0YTogQXBwRGF0YSwgc05hdlR5cGU6IHN0cmluZyk6IE5hdmlnYXRpb25QYXJhbWV0ZXIge1xuXHRcdHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBvQXBwRGF0YSwge1xuXHRcdFx0c2VsZWN0aW9uVmFyaWFudERlZmF1bHRzOiBvQXBwRGF0YS5vRGVmYXVsdGVkU2VsZWN0aW9uVmFyaWFudCxcblx0XHRcdHNlbGVjdGlvblZhcmlhbnQ6IG9BcHBEYXRhLm9TZWxlY3Rpb25WYXJpYW50LFxuXHRcdFx0cmVxdWlyZXNTdGFuZGFyZFZhcmlhbnQ6ICFvQXBwRGF0YS5iTmF2U2VsVmFySGFzRGVmYXVsdHNPbmx5LFxuXHRcdFx0bmF2aWdhdGlvblR5cGU6IHNOYXZUeXBlXG5cdFx0fSk7XG5cdH1cblxuXHRfY2hlY2tJZkxhc3RTZWVuUmVjb3JkKHZpZXc/OiBWaWV3KSB7XG5cdFx0Ly9nZXR0aW5nIHRoZSBpbnRlcm5hbCBtb2RlbCBjb250ZXh0IGluIG9yZGVyIHRvIGZldGNoIHRoZSB0ZWNobmljYWxrZXlzIG9mIGxhc3Qgc2VlbiByZWNvcmQgYW5kIGNsb3NlIGNvbHVtbiBmbGFnIHNldCBpbiB0aGUgaW50ZXJuYWxyb3V0aW5nIGZvciByZXRhaW5pbmcgc2V0dGluZ3MgaW4gcGVyc2lzdGVuY2UgbW9kZVxuXHRcdGNvbnN0IGludGVybmFsTW9kZWxDb250ZXh0ID0gdmlldyAmJiAodmlldy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpIGFzIEludGVybmFsTW9kZWxDb250ZXh0KTtcblx0XHRpZiAoaW50ZXJuYWxNb2RlbENvbnRleHQgJiYgaW50ZXJuYWxNb2RlbENvbnRleHQuZ2V0UHJvcGVydHkoXCJmY2xDb2x1bW5DbG9zZWRcIikgPT09IHRydWUpIHtcblx0XHRcdGNvbnN0IHRlY2huaWNhbEtleXNPYmplY3QgPSBpbnRlcm5hbE1vZGVsQ29udGV4dCAmJiBpbnRlcm5hbE1vZGVsQ29udGV4dC5nZXRQcm9wZXJ0eShcInRlY2huaWNhbEtleXNPZkxhc3RTZWVuUmVjb3JkXCIpO1xuXHRcdFx0Y29uc3QgYmluZGluZ0NvbnRleHQgPSB2aWV3Py5nZXRCaW5kaW5nQ29udGV4dCgpIGFzIENvbnRleHQ7XG5cdFx0XHRjb25zdCBwYXRoID0gKGJpbmRpbmdDb250ZXh0ICYmIGJpbmRpbmdDb250ZXh0LmdldFBhdGgoKSkgfHwgXCJcIjtcblx0XHRcdGNvbnN0IG1ldGFNb2RlbCA9IGJpbmRpbmdDb250ZXh0Py5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpO1xuXHRcdFx0Y29uc3QgbWV0YVBhdGggPSBtZXRhTW9kZWw/LmdldE1ldGFQYXRoKHBhdGgpO1xuXHRcdFx0Y29uc3QgdGVjaG5pY2FsS2V5cyA9IG1ldGFNb2RlbD8uZ2V0T2JqZWN0KGAke21ldGFQYXRofS8kVHlwZS8kS2V5YCk7XG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRlY2huaWNhbEtleXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0Y29uc3Qga2V5VmFsdWUgPSBiaW5kaW5nQ29udGV4dC5nZXRPYmplY3QoKVt0ZWNobmljYWxLZXlzW2ldXTtcblx0XHRcdFx0aWYgKGtleVZhbHVlICE9PSB0ZWNobmljYWxLZXlzT2JqZWN0W3RlY2huaWNhbEtleXNbaV1dKSB7XG5cdFx0XHRcdFx0aW50ZXJuYWxNb2RlbENvbnRleHQuc2V0UHJvcGVydHkoXCJmY2xDb2x1bW5DbG9zZWRcIiwgZmFsc2UpO1xuXHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQvL3RoZSByZWNvcmQgb3BlbmVkIGlzIG5vdCB0aGUgbGFzdCBzZWVuIG9uZSA6IG5vIG5lZWQgdG8gcGVyc2lzdCB0aGUgY2hhbmdlcywgcmVzZXQgdG8gZGVmYXVsdCBpbnN0ZWFkXG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdF9nZXRBcHBTdGF0ZURhdGEob0FwcERhdGE6IEFwcERhdGEsIHZpZXdJZD86IHN0cmluZywgbmF2VHlwZT86IHN0cmluZykge1xuXHRcdGxldCBrZXkgPSBcIlwiLFxuXHRcdFx0aSA9IDA7XG5cdFx0Y29uc3QgYXBwU3RhdGVEYXRhID0gbmF2VHlwZSA9PT0gTmF2VHlwZS5oeWJyaWQgPyBvQXBwRGF0YS5pQXBwU3RhdGUgOiBvQXBwRGF0YTtcblxuXHRcdGlmIChhcHBTdGF0ZURhdGE/LmFwcFN0YXRlKSB7XG5cdFx0XHRmb3IgKGkgPSAwOyBpIDwgT2JqZWN0LmtleXMoYXBwU3RhdGVEYXRhLmFwcFN0YXRlKS5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRpZiAoT2JqZWN0LmtleXMoYXBwU3RhdGVEYXRhLmFwcFN0YXRlKVtpXSA9PT0gdmlld0lkKSB7XG5cdFx0XHRcdFx0a2V5ID0gT2JqZWN0LmtleXMoYXBwU3RhdGVEYXRhLmFwcFN0YXRlKVtpXTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoYXBwU3RhdGVEYXRhPy5hcHBTdGF0ZSkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0W09iamVjdC5rZXlzKGFwcFN0YXRlRGF0YS5hcHBTdGF0ZSlbaV1dOiBhcHBTdGF0ZURhdGEuYXBwU3RhdGVba2V5XSB8fCB7fVxuXHRcdFx0fTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQXBwbGllcyBhbiBhcHBzdGF0ZSBieSBmZXRjaGluZyBhcHBkYXRhIGFuZCBwYXNzaW5nIGl0IHRvIF9hcHBseUFwcHN0YXRlVG9QYWdlLlxuXHQgKlxuXHQgKiBAcGFyYW0gdmlld0lkXG5cdCAqIEBwYXJhbSB2aWV3XG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAc3RhdGljXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5BcHBTdGF0ZUhhbmRsZXJcblx0ICogQHJldHVybnMgQSBwcm9taXNlIGZvciBhc3luYyBoYW5kbGluZ1xuXHQgKiBAcHJpdmF0ZVxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICovXG5cdGFzeW5jIGFwcGx5QXBwU3RhdGUodmlld0lkPzogc3RyaW5nLCB2aWV3PzogVmlldykge1xuXHRcdGlmICghdGhpcy5vQXBwQ29tcG9uZW50LmdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzKCkuZ2V0Q2FwYWJpbGl0aWVzKCkuQXBwU3RhdGUgfHwgQnVzeUxvY2tlci5pc0xvY2tlZCh0aGlzKSkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGNoZWNrSWZMYXN0U2VlblJlY29yZCA9IHRoaXMuX2NoZWNrSWZMYXN0U2VlblJlY29yZCh2aWV3KTtcblx0XHRpZiAoY2hlY2tJZkxhc3RTZWVuUmVjb3JkID09PSB0cnVlKSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdFx0fVxuXG5cdFx0QnVzeUxvY2tlci5sb2NrKHRoaXMpO1xuXHRcdC8vIERvbmUgZm9yIGJ1c3kgaW5kaWNhdG9yXG5cdFx0QnVzeUxvY2tlci5sb2NrKHRoaXMub0FwcENvbXBvbmVudC5nZXRSb290Q29udHJvbCgpKTtcblx0XHRjb25zdCBvTmF2aWdhdGlvblNlcnZpY2UgPSB0aGlzLm9BcHBDb21wb25lbnQuZ2V0TmF2aWdhdGlvblNlcnZpY2UoKTtcblx0XHQvLyBUT0RPIG9OYXZpZ2F0aW9uU2VydmljZS5wYXJzZU5hdmlnYXRpb24oKSBzaG91bGQgcmV0dXJuIEVTNiBwcm9taXNlIGluc3RlYWQgalF1ZXJ5LnByb21pc2Vcblx0XHRyZXR1cm4gdG9FUzZQcm9taXNlKG9OYXZpZ2F0aW9uU2VydmljZS5wYXJzZU5hdmlnYXRpb24oKSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAoYUVycm9yRGF0YTogdW5rbm93bltdKSB7XG5cdFx0XHRcdGlmICghYUVycm9yRGF0YSkge1xuXHRcdFx0XHRcdGFFcnJvckRhdGEgPSBbXTtcblx0XHRcdFx0fVxuXHRcdFx0XHRMb2cud2FybmluZyhcIkFQUFNUQVRFOiBQYXJzZSBOYXZpZ2F0aW9uIGZhaWxlZFwiLCBhRXJyb3JEYXRhWzBdIGFzIHN0cmluZyk7XG5cdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0LyogYXBwIGRhdGEgKi9cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGFFcnJvckRhdGFbMV0sXG5cdFx0XHRcdFx0YUVycm9yRGF0YVsyXVxuXHRcdFx0XHRdO1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKChhUmVzdWx0czogdW5rbm93bltdKSA9PiB7XG5cdFx0XHRcdExvZy5pbmZvKFwiQVBQU1RBVEU6IFBhcnNlIE5hdmlnYXRpb24gZG9uZVwiKTtcblxuXHRcdFx0XHQvLyBhUmVzdWx0c1sxXSA9PiBvU3RhcnR1cFBhcmFtZXRlcnMgKG5vdCBldmFsdWF0ZWQpXG5cdFx0XHRcdGNvbnN0IG9BcHBEYXRhID0gKGFSZXN1bHRzWzBdIHx8IHt9KSBhcyBBcHBEYXRhLFxuXHRcdFx0XHRcdHNOYXZUeXBlID0gKGFSZXN1bHRzWzJdIGFzIHN0cmluZykgfHwgTmF2VHlwZS5pbml0aWFsLFxuXHRcdFx0XHRcdG9Sb290Q29udHJvbGxlciA9IHRoaXMub0FwcENvbXBvbmVudC5nZXRSb290Q29udHJvbCgpLmdldENvbnRyb2xsZXIoKTtcblx0XHRcdFx0Ly8gYXBwbHkgdGhlIGFwcHN0YXRlIGRlcGVuZGluZyB1cG9uIHRoZSB2aWV3IChMUi9PUClcblx0XHRcdFx0Y29uc3QgYXBwU3RhdGVEYXRhID0gdGhpcy5fZ2V0QXBwU3RhdGVEYXRhKG9BcHBEYXRhLCB2aWV3SWQsIHNOYXZUeXBlKTtcblx0XHRcdFx0dGhpcy5fbUN1cnJlbnRBcHBTdGF0ZSA9IHNOYXZUeXBlID09PSBOYXZUeXBlLmlBcHBTdGF0ZSB8fCBzTmF2VHlwZSA9PT0gTmF2VHlwZS5oeWJyaWQgPyBhcHBTdGF0ZURhdGEgOiB1bmRlZmluZWQ7XG5cblx0XHRcdFx0aWYgKCFvUm9vdENvbnRyb2xsZXIudmlld1N0YXRlKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGB2aWV3U3RhdGUgZXh0ZW5zaW9uIHJlcXVpcmVkIGZvciBjb250cm9sbGVyICR7b1Jvb3RDb250cm9sbGVyLmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpfWApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICgoIW9BcHBEYXRhIHx8IE9iamVjdC5rZXlzKG9BcHBEYXRhKS5sZW5ndGggPT09IDApICYmIHNOYXZUeXBlID09IE5hdlR5cGUuaUFwcFN0YXRlKSB7XG5cdFx0XHRcdFx0aWYgKCFvUm9vdENvbnRyb2xsZXIudmlld1N0YXRlLl9nZXRJbml0aWFsU3RhdGVBcHBsaWVkKCkpIHtcblx0XHRcdFx0XHRcdG9Sb290Q29udHJvbGxlci52aWV3U3RhdGUuX3NldEluaXRpYWxTdGF0ZUFwcGxpZWQoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIHt9O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBvUm9vdENvbnRyb2xsZXIudmlld1N0YXRlLmFwcGx5Vmlld1N0YXRlKFxuXHRcdFx0XHRcdHRoaXMuX21DdXJyZW50QXBwU3RhdGUsXG5cdFx0XHRcdFx0dGhpcy5fY3JlYXRlTmF2aWdhdGlvblBhcmFtZXRlcnMob0FwcERhdGEsIHNOYXZUeXBlKVxuXHRcdFx0XHQpO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAob0Vycm9yOiB1bmtub3duKSB7XG5cdFx0XHRcdExvZy5lcnJvcihcImFwcFN0YXRlIGNvdWxkIG5vdCBiZSBhcHBsaWVkXCIsIG9FcnJvciBhcyBzdHJpbmcpO1xuXHRcdFx0XHR0aHJvdyBvRXJyb3I7XG5cdFx0XHR9KVxuXHRcdFx0LmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHRCdXN5TG9ja2VyLnVubG9jayh0aGlzKTtcblx0XHRcdFx0QnVzeUxvY2tlci51bmxvY2sodGhpcy5vQXBwQ29tcG9uZW50LmdldFJvb3RDb250cm9sKCkpO1xuXHRcdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogVG8gY2hlY2sgaXMgcm91dGUgaXMgY2hhbmdlZCBieSBjaGFuZ2UgaW4gdGhlIGlBUFBTdGF0ZS5cblx0ICpcblx0ICogQHJldHVybnMgYHRydWVgIGlmIHRoZSByb3V0ZSBoYXMgY2huYWdlZFxuXHQgKi9cblx0Y2hlY2tJZlJvdXRlQ2hhbmdlZEJ5SUFwcCgpIHtcblx0XHRyZXR1cm4gdGhpcy5iTm9Sb3V0ZUNoYW5nZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXNldCB0aGUgcm91dGUgY2hhbmdlZCBieSBpQVBQU3RhdGUuXG5cdCAqL1xuXHRyZXNldFJvdXRlQ2hhbmdlZEJ5SUFwcCgpIHtcblx0XHRpZiAodGhpcy5iTm9Sb3V0ZUNoYW5nZSkge1xuXHRcdFx0dGhpcy5iTm9Sb3V0ZUNoYW5nZSA9IGZhbHNlO1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEBnbG9iYWxcbiAqL1xuZXhwb3J0IGRlZmF1bHQgQXBwU3RhdGVIYW5kbGVyO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7OztFQWNBLE1BQU1BLE9BQU8sR0FBR0MsT0FBTyxDQUFDRCxPQUFPO0VBQUMsSUFhMUJFLGVBQWUsV0FEcEJDLGNBQWMsQ0FBQyw2QkFBNkIsQ0FBQztJQUFBO0lBWTdDLHlCQUFZQyxhQUEyQixFQUFFO01BQUE7TUFDeEMsOEJBQU87TUFBQyxNQUxEQyxpQkFBaUIsR0FBYyxDQUFDLENBQUM7TUFNeEMsTUFBS0QsYUFBYSxHQUFHQSxhQUFhO01BQ2xDLE1BQUtFLEdBQUcsR0FBSSxHQUFFRixhQUFhLENBQUNHLEtBQUssRUFBRyxrQkFBaUI7TUFDckQsTUFBS0MsMkJBQTJCLEdBQUcsQ0FBQztNQUNwQyxNQUFLQyxjQUFjLEdBQUcsS0FBSztNQUMzQkMsR0FBRyxDQUFDQyxJQUFJLENBQUMseUNBQXlDLENBQUM7TUFBQztJQUNyRDtJQUFDO0lBQUEsT0FFREosS0FBSyxHQUFMLGlCQUFRO01BQ1AsT0FBTyxJQUFJLENBQUNELEdBQUc7SUFDaEI7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BTEM7SUFBQSxPQU1NTSxjQUFjLEdBQXBCLGdDQUE2RDtNQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDUixhQUFhLENBQUNTLDBCQUEwQixFQUFFLENBQUNDLGVBQWUsRUFBRSxDQUFDQyxRQUFRLElBQUlDLFVBQVUsQ0FBQ0MsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzdHO01BQ0Q7TUFFQSxNQUFNQyxrQkFBa0IsR0FBRyxJQUFJLENBQUNkLGFBQWEsQ0FBQ2Usb0JBQW9CLEVBQUU7UUFDbkVDLFlBQVksR0FBRyxJQUFJLENBQUNoQixhQUFhLENBQUNpQixjQUFjLEVBQUU7UUFDbERDLEtBQUssR0FBR0YsWUFBWSxDQUFDRyxPQUFPLEVBQUU7UUFDOUJDLFdBQVcsR0FBRyxJQUFJLENBQUNwQixhQUFhLENBQUNxQixjQUFjLEVBQUUsQ0FBQ0MsYUFBYSxFQUFFO1FBQ2pFQyxhQUFhLEdBQUdDLFdBQVcsQ0FBQ0Msd0JBQXdCLENBQUMsSUFBSSxDQUFDekIsYUFBYSxDQUFDMEIsWUFBWSxFQUFFLENBQUM7TUFFeEYsSUFBSSxDQUFDTixXQUFXLENBQUNPLFNBQVMsRUFBRTtRQUMzQixNQUFNLElBQUlDLEtBQUssQ0FBRSxnRUFBK0RSLFdBQVcsQ0FBQ1MsV0FBVyxFQUFFLENBQUNDLE9BQU8sRUFBRyxFQUFDLENBQUM7TUFDdkg7TUFFQSxNQUFNQyxjQUFjLEdBQUcsTUFBTVgsV0FBVyxDQUFDTyxTQUFTLENBQUNLLGlCQUFpQixFQUFFO01BQ3RFLE1BQU1DLFVBQVUsR0FBRztRQUFFQyxRQUFRLEVBQUVIO01BQWUsQ0FBQztNQUMvQyxJQUFJQSxjQUFjLElBQUksQ0FBQ0ksU0FBUyxDQUFDLElBQUksQ0FBQ2xDLGlCQUFpQixFQUFFOEIsY0FBYyxDQUFDLEVBQUU7UUFDekUsSUFBSSxDQUFDOUIsaUJBQWlCLEdBQUc4QixjQUFjO1FBQ3ZDLElBQUk7VUFDSCxJQUFJLENBQUMzQiwyQkFBMkIsRUFBRTtVQUNsQyxNQUFNZ0MsWUFBWSxHQUFHLE1BQU10QixrQkFBa0IsQ0FBQ3VCLHVCQUF1QixDQUFDSixVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztVQUM3RjNCLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1VBQ3JDLE1BQU0rQixRQUFRLEdBQUd4QixrQkFBa0IsQ0FBQ3lCLHVCQUF1QixDQUFDckIsS0FBSyxFQUFFa0IsWUFBWSxDQUFDO1VBQ2hGLElBQUksQ0FBQ2hDLDJCQUEyQixFQUFFO1VBQ2xDLElBQUksSUFBSSxDQUFDQSwyQkFBMkIsS0FBSyxDQUFDLElBQUlrQyxRQUFRLEtBQUtwQixLQUFLLEVBQUU7WUFDakVGLFlBQVksQ0FBQ3dCLFNBQVMsQ0FBQ0YsUUFBUSxFQUFFRyxTQUFTLEVBQUVBLFNBQVMsRUFBRUEsU0FBUyxFQUFFLENBQUNsQixhQUFhLENBQUM7WUFDakYsSUFBSSxDQUFDbEIsY0FBYyxHQUFHLElBQUk7VUFDM0I7VUFDQUMsR0FBRyxDQUFDQyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDaEMsQ0FBQyxDQUFDLE9BQU9tQyxNQUFlLEVBQUU7VUFDekJwQyxHQUFHLENBQUNxQyxLQUFLLENBQUNELE1BQU0sQ0FBVztRQUM1QjtNQUNEO01BRUEsT0FBT1QsVUFBVTtJQUNsQixDQUFDO0lBQUEsT0FFRFcsMkJBQTJCLEdBQTNCLHFDQUE0QkMsUUFBaUIsRUFBRUMsUUFBZ0IsRUFBdUI7TUFDckYsT0FBT0MsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUVILFFBQVEsRUFBRTtRQUNsQ0ksd0JBQXdCLEVBQUVKLFFBQVEsQ0FBQ0ssMEJBQTBCO1FBQzdEQyxnQkFBZ0IsRUFBRU4sUUFBUSxDQUFDTyxpQkFBaUI7UUFDNUNDLHVCQUF1QixFQUFFLENBQUNSLFFBQVEsQ0FBQ1MseUJBQXlCO1FBQzVEQyxjQUFjLEVBQUVUO01BQ2pCLENBQUMsQ0FBQztJQUNILENBQUM7SUFBQSxPQUVEVSxzQkFBc0IsR0FBdEIsZ0NBQXVCQyxJQUFXLEVBQUU7TUFDbkM7TUFDQSxNQUFNQyxvQkFBb0IsR0FBR0QsSUFBSSxJQUFLQSxJQUFJLENBQUNFLGlCQUFpQixDQUFDLFVBQVUsQ0FBMEI7TUFDakcsSUFBSUQsb0JBQW9CLElBQUlBLG9CQUFvQixDQUFDRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDekYsTUFBTUMsbUJBQW1CLEdBQUdILG9CQUFvQixJQUFJQSxvQkFBb0IsQ0FBQ0UsV0FBVyxDQUFDLCtCQUErQixDQUFDO1FBQ3JILE1BQU1FLGNBQWMsR0FBR0wsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVFLGlCQUFpQixFQUFhO1FBQzNELE1BQU1JLElBQUksR0FBSUQsY0FBYyxJQUFJQSxjQUFjLENBQUNFLE9BQU8sRUFBRSxJQUFLLEVBQUU7UUFDL0QsTUFBTUMsU0FBUyxHQUFHSCxjQUFjLGFBQWRBLGNBQWMsdUJBQWRBLGNBQWMsQ0FBRUksUUFBUSxFQUFFLENBQUN4QyxZQUFZLEVBQUU7UUFDM0QsTUFBTXlDLFFBQVEsR0FBR0YsU0FBUyxhQUFUQSxTQUFTLHVCQUFUQSxTQUFTLENBQUVHLFdBQVcsQ0FBQ0wsSUFBSSxDQUFDO1FBQzdDLE1BQU1NLGFBQWEsR0FBR0osU0FBUyxhQUFUQSxTQUFTLHVCQUFUQSxTQUFTLENBQUVLLFNBQVMsQ0FBRSxHQUFFSCxRQUFTLGFBQVksQ0FBQztRQUNwRSxLQUFLLElBQUlJLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR0YsYUFBYSxDQUFDRyxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO1VBQzlDLE1BQU1FLFFBQVEsR0FBR1gsY0FBYyxDQUFDUSxTQUFTLEVBQUUsQ0FBQ0QsYUFBYSxDQUFDRSxDQUFDLENBQUMsQ0FBQztVQUM3RCxJQUFJRSxRQUFRLEtBQUtaLG1CQUFtQixDQUFDUSxhQUFhLENBQUNFLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkRiLG9CQUFvQixDQUFDZ0IsV0FBVyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQztZQUMxRCxPQUFPLElBQUk7VUFDWjtRQUNEO1FBQ0E7TUFDRDs7TUFDQSxPQUFPLEtBQUs7SUFDYixDQUFDO0lBQUEsT0FFREMsZ0JBQWdCLEdBQWhCLDBCQUFpQjlCLFFBQWlCLEVBQUUrQixNQUFlLEVBQUVDLE9BQWdCLEVBQUU7TUFDdEUsSUFBSUMsR0FBRyxHQUFHLEVBQUU7UUFDWFAsQ0FBQyxHQUFHLENBQUM7TUFDTixNQUFNUSxZQUFZLEdBQUdGLE9BQU8sS0FBS2pGLE9BQU8sQ0FBQ29GLE1BQU0sR0FBR25DLFFBQVEsQ0FBQ29DLFNBQVMsR0FBR3BDLFFBQVE7TUFFL0UsSUFBSWtDLFlBQVksYUFBWkEsWUFBWSxlQUFaQSxZQUFZLENBQUU3QyxRQUFRLEVBQUU7UUFDM0IsS0FBS3FDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR3hCLE1BQU0sQ0FBQ21DLElBQUksQ0FBQ0gsWUFBWSxDQUFDN0MsUUFBUSxDQUFDLENBQUNzQyxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO1VBQy9ELElBQUl4QixNQUFNLENBQUNtQyxJQUFJLENBQUNILFlBQVksQ0FBQzdDLFFBQVEsQ0FBQyxDQUFDcUMsQ0FBQyxDQUFDLEtBQUtLLE1BQU0sRUFBRTtZQUNyREUsR0FBRyxHQUFHL0IsTUFBTSxDQUFDbUMsSUFBSSxDQUFDSCxZQUFZLENBQUM3QyxRQUFRLENBQUMsQ0FBQ3FDLENBQUMsQ0FBQztZQUMzQztVQUNEO1FBQ0Q7TUFDRDtNQUNBLElBQUlRLFlBQVksYUFBWkEsWUFBWSxlQUFaQSxZQUFZLENBQUU3QyxRQUFRLEVBQUU7UUFDM0IsT0FBTztVQUNOLENBQUNhLE1BQU0sQ0FBQ21DLElBQUksQ0FBQ0gsWUFBWSxDQUFDN0MsUUFBUSxDQUFDLENBQUNxQyxDQUFDLENBQUMsR0FBR1EsWUFBWSxDQUFDN0MsUUFBUSxDQUFDNEMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUN6RSxDQUFDO01BQ0Y7SUFDRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FYQztJQUFBLE9BWU1LLGFBQWEsR0FBbkIsNkJBQW9CUCxNQUFlLEVBQUVuQixJQUFXLEVBQUU7TUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQ3pELGFBQWEsQ0FBQ1MsMEJBQTBCLEVBQUUsQ0FBQ0MsZUFBZSxFQUFFLENBQUNDLFFBQVEsSUFBSUMsVUFBVSxDQUFDQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDN0csT0FBT3VFLE9BQU8sQ0FBQ0MsT0FBTyxFQUFFO01BQ3pCO01BRUEsTUFBTUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDOUIsc0JBQXNCLENBQUNDLElBQUksQ0FBQztNQUMvRCxJQUFJNkIscUJBQXFCLEtBQUssSUFBSSxFQUFFO1FBQ25DLE9BQU9GLE9BQU8sQ0FBQ0MsT0FBTyxFQUFFO01BQ3pCO01BRUF6RSxVQUFVLENBQUMyRSxJQUFJLENBQUMsSUFBSSxDQUFDO01BQ3JCO01BQ0EzRSxVQUFVLENBQUMyRSxJQUFJLENBQUMsSUFBSSxDQUFDdkYsYUFBYSxDQUFDcUIsY0FBYyxFQUFFLENBQUM7TUFDcEQsTUFBTVAsa0JBQWtCLEdBQUcsSUFBSSxDQUFDZCxhQUFhLENBQUNlLG9CQUFvQixFQUFFO01BQ3BFO01BQ0EsT0FBT3lFLFlBQVksQ0FBQzFFLGtCQUFrQixDQUFDMkUsZUFBZSxFQUFFLENBQUMsQ0FDdkRDLEtBQUssQ0FBQyxVQUFVQyxVQUFxQixFQUFFO1FBQ3ZDLElBQUksQ0FBQ0EsVUFBVSxFQUFFO1VBQ2hCQSxVQUFVLEdBQUcsRUFBRTtRQUNoQjtRQUNBckYsR0FBRyxDQUFDc0YsT0FBTyxDQUFDLG1DQUFtQyxFQUFFRCxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQVc7UUFDekUsT0FBTyxDQUNOO1VBQ0M7UUFBQSxDQUNBLEVBQ0RBLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFDYkEsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUNiO01BQ0YsQ0FBQyxDQUFDLENBQ0RFLElBQUksQ0FBRUMsUUFBbUIsSUFBSztRQUM5QnhGLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDLGlDQUFpQyxDQUFDOztRQUUzQztRQUNBLE1BQU1zQyxRQUFRLEdBQUlpRCxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFhO1VBQzlDaEQsUUFBUSxHQUFJZ0QsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFlbEcsT0FBTyxDQUFDbUcsT0FBTztVQUNyREMsZUFBZSxHQUFHLElBQUksQ0FBQ2hHLGFBQWEsQ0FBQ3FCLGNBQWMsRUFBRSxDQUFDQyxhQUFhLEVBQUU7UUFDdEU7UUFDQSxNQUFNeUQsWUFBWSxHQUFHLElBQUksQ0FBQ0osZ0JBQWdCLENBQUM5QixRQUFRLEVBQUUrQixNQUFNLEVBQUU5QixRQUFRLENBQUM7UUFDdEUsSUFBSSxDQUFDN0MsaUJBQWlCLEdBQUc2QyxRQUFRLEtBQUtsRCxPQUFPLENBQUNxRixTQUFTLElBQUluQyxRQUFRLEtBQUtsRCxPQUFPLENBQUNvRixNQUFNLEdBQUdELFlBQVksR0FBR3RDLFNBQVM7UUFFakgsSUFBSSxDQUFDdUQsZUFBZSxDQUFDckUsU0FBUyxFQUFFO1VBQy9CLE1BQU0sSUFBSUMsS0FBSyxDQUFFLCtDQUE4Q29FLGVBQWUsQ0FBQ25FLFdBQVcsRUFBRSxDQUFDQyxPQUFPLEVBQUcsRUFBQyxDQUFDO1FBQzFHO1FBQ0EsSUFBSSxDQUFDLENBQUNlLFFBQVEsSUFBSUUsTUFBTSxDQUFDbUMsSUFBSSxDQUFDckMsUUFBUSxDQUFDLENBQUMyQixNQUFNLEtBQUssQ0FBQyxLQUFLMUIsUUFBUSxJQUFJbEQsT0FBTyxDQUFDcUYsU0FBUyxFQUFFO1VBQ3ZGLElBQUksQ0FBQ2UsZUFBZSxDQUFDckUsU0FBUyxDQUFDc0UsdUJBQXVCLEVBQUUsRUFBRTtZQUN6REQsZUFBZSxDQUFDckUsU0FBUyxDQUFDdUUsdUJBQXVCLEVBQUU7VUFDcEQ7VUFDQSxPQUFPLENBQUMsQ0FBQztRQUNWO1FBQ0EsT0FBT0YsZUFBZSxDQUFDckUsU0FBUyxDQUFDd0UsY0FBYyxDQUM5QyxJQUFJLENBQUNsRyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDMkMsMkJBQTJCLENBQUNDLFFBQVEsRUFBRUMsUUFBUSxDQUFDLENBQ3BEO01BQ0YsQ0FBQyxDQUFDLENBQ0Q0QyxLQUFLLENBQUMsVUFBVWhELE1BQWUsRUFBRTtRQUNqQ3BDLEdBQUcsQ0FBQ3FDLEtBQUssQ0FBQywrQkFBK0IsRUFBRUQsTUFBTSxDQUFXO1FBQzVELE1BQU1BLE1BQU07TUFDYixDQUFDLENBQUMsQ0FDRDBELE9BQU8sQ0FBQyxNQUFNO1FBQ2R4RixVQUFVLENBQUN5RixNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3ZCekYsVUFBVSxDQUFDeUYsTUFBTSxDQUFDLElBQUksQ0FBQ3JHLGFBQWEsQ0FBQ3FCLGNBQWMsRUFBRSxDQUFDO01BQ3ZELENBQUMsQ0FBQztJQUNKOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsT0FKQztJQUFBLE9BS0FpRix5QkFBeUIsR0FBekIscUNBQTRCO01BQzNCLE9BQU8sSUFBSSxDQUFDakcsY0FBYztJQUMzQjs7SUFFQTtBQUNEO0FBQ0EsT0FGQztJQUFBLE9BR0FrRyx1QkFBdUIsR0FBdkIsbUNBQTBCO01BQ3pCLElBQUksSUFBSSxDQUFDbEcsY0FBYyxFQUFFO1FBQ3hCLElBQUksQ0FBQ0EsY0FBYyxHQUFHLEtBQUs7TUFDNUI7SUFDRCxDQUFDO0lBQUE7RUFBQSxFQW5ONEJtRyxVQUFVO0VBc054QztBQUNBO0FBQ0E7RUFGQSxPQUdlMUcsZUFBZTtBQUFBIn0=
@@ -2,5 +2,5 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log","sap/base/util/deepEqual","sap/fe/core/helpers/ClassSupport","sap/fe/core/helpers/ToES6Promise","sap/fe/navigation/library","sap/ui/base/Object","./controllerextensions/BusyLocker","./helpers/ModelHelper"],function(t,e,n,o,a,i,r,s){"use strict";var p,c;var l=n.defineUI5Class;function u(t,e){t.prototype=Object.create(e.prototype);t.prototype.constructor=t;f(t,e)}function f(t,e){f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function t(e,n){e.__proto__=n;return e};return f(t,e)}const h=a.NavType;let d=(p=l("sap.fe.core.AppStateHandler"),p(c=function(n){u(a,n);function a(e){var o;o=n.call(this)||this;o._mCurrentAppState={};o.oAppComponent=e;o.sId=`${e.getId()}/AppStateHandler`;o.nbSimultaneousCreateRequest=0;o.bNoRouteChange=false;t.info("APPSTATE : Appstate handler initialized");return o}var i=a.prototype;i.getId=function t(){return this.sId};i.createAppState=async function n(){if(!this.oAppComponent.getEnvironmentCapabilities().getCapabilities().AppState||r.isLocked(this)){return}const o=this.oAppComponent.getNavigationService(),a=this.oAppComponent.getRouterProxy(),i=a.getHash(),p=this.oAppComponent.getRootControl().getController(),c=s.isStickySessionSupported(this.oAppComponent.getMetaModel());if(!p.viewState){throw new Error(`viewState controller extension not available for controller: ${p.getMetadata().getName()}`)}const l=await p.viewState.retrieveViewState();const u={appState:l};if(l&&!e(this._mCurrentAppState,l)){this._mCurrentAppState=l;try{this.nbSimultaneousCreateRequest++;const e=await o.storeInnerAppStateAsync(u,true,true);t.info("APPSTATE: Appstate stored");const n=o.replaceInnerAppStateKey(i,e);this.nbSimultaneousCreateRequest--;if(this.nbSimultaneousCreateRequest===0&&n!==i){a.navToHash(n,undefined,undefined,undefined,!c);this.bNoRouteChange=true}t.info("APPSTATE: navToHash")}catch(e){t.error(e)}}return u};i._createNavigationParameters=function t(e,n){return Object.assign({},e,{selectionVariantDefaults:e.oDefaultedSelectionVariant,selectionVariant:e.oSelectionVariant,requiresStandardVariant:!e.bNavSelVarHasDefaultsOnly,navigationType:n})};i._checkIfLastSeenRecord=function t(e){const n=e&&e.getBindingContext("internal");if(n&&n.getProperty("fclColumnClosed")===true){const t=n&&n.getProperty("technicalKeysOfLastSeenRecord");const o=e===null||e===void 0?void 0:e.getBindingContext();const a=o&&o.getPath()||"";const i=o===null||o===void 0?void 0:o.getModel().getMetaModel();const r=i===null||i===void 0?void 0:i.getMetaPath(a);const s=i===null||i===void 0?void 0:i.getObject(`${r}/$Type/$Key`);for(let e=0;e<s.length;e++){const a=o.getObject()[s[e]];if(a!==t[s[e]]){n.setProperty("fclColumnClosed",false);return true}}}return false};i._getAppStateData=function t(e,n,o){let a="",i=0;const r=o===h.hybrid?e.iAppState:e;if(r!==null&&r!==void 0&&r.appState){for(i=0;i<Object.keys(r.appState).length;i++){if(Object.keys(r.appState)[i]===n){a=Object.keys(r.appState)[i];break}}}if(r!==null&&r!==void 0&&r.appState){return{[Object.keys(r.appState)[i]]:r.appState[a]||{}}}};i.applyAppState=async function e(n,a){if(!this.oAppComponent.getEnvironmentCapabilities().getCapabilities().AppState||r.isLocked(this)){return Promise.resolve()}const i=this._checkIfLastSeenRecord(a);if(i===true){return Promise.resolve()}r.lock(this);r.lock(this.oAppComponent.getRootControl());const s=this.oAppComponent.getNavigationService();return o(s.parseNavigation()).catch(function(e){if(!e){e=[]}t.warning("APPSTATE: Parse Navigation failed",e[0]);return[{},e[1],e[2]]}).then(e=>{t.info("APPSTATE: Parse Navigation done");const o=e[0]||{},a=e[2]||h.initial,i=this.oAppComponent.getRootControl().getController();const r=this._getAppStateData(o,n,a);this._mCurrentAppState=a===h.iAppState||a===h.hybrid?r:undefined;if(!i.viewState){throw new Error(`viewState extension required for controller ${i.getMetadata().getName()}`)}if((!o||Object.keys(o).length===0)&&a==h.iAppState){return{}}return i.viewState.applyViewState(this._mCurrentAppState,this._createNavigationParameters(o,a))}).catch(function(e){t.error("appState could not be applied",e);throw e}).finally(()=>{r.unlock(this);r.unlock(this.oAppComponent.getRootControl())})};i.checkIfRouteChangedByIApp=function t(){return this.bNoRouteChange};i.resetRouteChangedByIApp=function t(){if(this.bNoRouteChange){this.bNoRouteChange=false}};return a}(i))||c);return d},true);
5
+ sap.ui.define(["sap/base/Log","sap/base/util/deepEqual","sap/fe/core/helpers/ClassSupport","sap/fe/core/helpers/ToES6Promise","sap/fe/navigation/library","sap/ui/base/Object","./controllerextensions/BusyLocker","./helpers/ModelHelper"],function(t,e,n,o,a,i,r,p){"use strict";var s,l;var c=n.defineUI5Class;function u(t,e){t.prototype=Object.create(e.prototype);t.prototype.constructor=t;f(t,e)}function f(t,e){f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function t(e,n){e.__proto__=n;return e};return f(t,e)}const h=a.NavType;let S=(s=c("sap.fe.core.AppStateHandler"),s(l=function(n){u(a,n);function a(e){var o;o=n.call(this)||this;o._mCurrentAppState={};o.oAppComponent=e;o.sId=`${e.getId()}/AppStateHandler`;o.nbSimultaneousCreateRequest=0;o.bNoRouteChange=false;t.info("APPSTATE : Appstate handler initialized");return o}var i=a.prototype;i.getId=function t(){return this.sId};i.createAppState=async function n(){if(!this.oAppComponent.getEnvironmentCapabilities().getCapabilities().AppState||r.isLocked(this)){return}const o=this.oAppComponent.getNavigationService(),a=this.oAppComponent.getRouterProxy(),i=a.getHash(),s=this.oAppComponent.getRootControl().getController(),l=p.isStickySessionSupported(this.oAppComponent.getMetaModel());if(!s.viewState){throw new Error(`viewState controller extension not available for controller: ${s.getMetadata().getName()}`)}const c=await s.viewState.retrieveViewState();const u={appState:c};if(c&&!e(this._mCurrentAppState,c)){this._mCurrentAppState=c;try{this.nbSimultaneousCreateRequest++;const e=await o.storeInnerAppStateAsync(u,true,true);t.info("APPSTATE: Appstate stored");const n=o.replaceInnerAppStateKey(i,e);this.nbSimultaneousCreateRequest--;if(this.nbSimultaneousCreateRequest===0&&n!==i){a.navToHash(n,undefined,undefined,undefined,!l);this.bNoRouteChange=true}t.info("APPSTATE: navToHash")}catch(e){t.error(e)}}return u};i._createNavigationParameters=function t(e,n){return Object.assign({},e,{selectionVariantDefaults:e.oDefaultedSelectionVariant,selectionVariant:e.oSelectionVariant,requiresStandardVariant:!e.bNavSelVarHasDefaultsOnly,navigationType:n})};i._checkIfLastSeenRecord=function t(e){const n=e&&e.getBindingContext("internal");if(n&&n.getProperty("fclColumnClosed")===true){const t=n&&n.getProperty("technicalKeysOfLastSeenRecord");const o=e===null||e===void 0?void 0:e.getBindingContext();const a=o&&o.getPath()||"";const i=o===null||o===void 0?void 0:o.getModel().getMetaModel();const r=i===null||i===void 0?void 0:i.getMetaPath(a);const p=i===null||i===void 0?void 0:i.getObject(`${r}/$Type/$Key`);for(let e=0;e<p.length;e++){const a=o.getObject()[p[e]];if(a!==t[p[e]]){n.setProperty("fclColumnClosed",false);return true}}}return false};i._getAppStateData=function t(e,n,o){let a="",i=0;const r=o===h.hybrid?e.iAppState:e;if(r!==null&&r!==void 0&&r.appState){for(i=0;i<Object.keys(r.appState).length;i++){if(Object.keys(r.appState)[i]===n){a=Object.keys(r.appState)[i];break}}}if(r!==null&&r!==void 0&&r.appState){return{[Object.keys(r.appState)[i]]:r.appState[a]||{}}}};i.applyAppState=async function e(n,a){if(!this.oAppComponent.getEnvironmentCapabilities().getCapabilities().AppState||r.isLocked(this)){return Promise.resolve()}const i=this._checkIfLastSeenRecord(a);if(i===true){return Promise.resolve()}r.lock(this);r.lock(this.oAppComponent.getRootControl());const p=this.oAppComponent.getNavigationService();return o(p.parseNavigation()).catch(function(e){if(!e){e=[]}t.warning("APPSTATE: Parse Navigation failed",e[0]);return[{},e[1],e[2]]}).then(e=>{t.info("APPSTATE: Parse Navigation done");const o=e[0]||{},a=e[2]||h.initial,i=this.oAppComponent.getRootControl().getController();const r=this._getAppStateData(o,n,a);this._mCurrentAppState=a===h.iAppState||a===h.hybrid?r:undefined;if(!i.viewState){throw new Error(`viewState extension required for controller ${i.getMetadata().getName()}`)}if((!o||Object.keys(o).length===0)&&a==h.iAppState){if(!i.viewState._getInitialStateApplied()){i.viewState._setInitialStateApplied()}return{}}return i.viewState.applyViewState(this._mCurrentAppState,this._createNavigationParameters(o,a))}).catch(function(e){t.error("appState could not be applied",e);throw e}).finally(()=>{r.unlock(this);r.unlock(this.oAppComponent.getRootControl())})};i.checkIfRouteChangedByIApp=function t(){return this.bNoRouteChange};i.resetRouteChangedByIApp=function t(){if(this.bNoRouteChange){this.bNoRouteChange=false}};return a}(i))||l);return S},true);
6
6
  //# sourceMappingURL=AppStateHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppStateHandler.js","names":["sap","ui","define","Log","deepEqual","ClassSupport","toES6Promise","library","BaseObject","BusyLocker","ModelHelper","_dec","_class","defineUI5Class","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","NavType","AppStateHandler","_BaseObject","oAppComponent","_this","call","this","_mCurrentAppState","sId","getId","nbSimultaneousCreateRequest","bNoRouteChange","info","_proto","createAppState","async","getEnvironmentCapabilities","getCapabilities","AppState","isLocked","oNavigationService","getNavigationService","oRouterProxy","getRouterProxy","sHash","getHash","oController","getRootControl","getController","bIsStickyMode","isStickySessionSupported","getMetaModel","viewState","Error","getMetadata","getName","mInnerAppState","retrieveViewState","oStoreData","appState","sAppStateKey","storeInnerAppStateAsync","sNewHash","replaceInnerAppStateKey","navToHash","undefined","oError","error","_createNavigationParameters","oAppData","sNavType","assign","selectionVariantDefaults","oDefaultedSelectionVariant","selectionVariant","oSelectionVariant","requiresStandardVariant","bNavSelVarHasDefaultsOnly","navigationType","_checkIfLastSeenRecord","view","internalModelContext","getBindingContext","getProperty","technicalKeysObject","bindingContext","path","getPath","metaModel","getModel","metaPath","getMetaPath","technicalKeys","getObject","i","length","keyValue","setProperty","_getAppStateData","viewId","navType","key","appStateData","hybrid","iAppState","keys","applyAppState","Promise","resolve","checkIfLastSeenRecord","lock","parseNavigation","catch","aErrorData","warning","then","aResults","initial","oRootController","applyViewState","finally","unlock","checkIfRouteChangedByIApp","resetRouteChangedByIApp"],"sources":["AppStateHandler-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,0BAA2B,mCAAoC,mCAAoC,4BAA6B,qBAAsB,oCAAqC,yBAA0B,SAAUC,EAAKC,EAAWC,EAAcC,EAAcC,EAASC,EAAYC,EAAYC,GACzU,aAEA,IAAIC,EAAMC,EACV,IAAIC,EAAiBR,EAAaQ,eAClC,SAASC,EAAeC,EAAUC,GAAcD,EAASE,UAAYC,OAAOC,OAAOH,EAAWC,WAAYF,EAASE,UAAUG,YAAcL,EAAUM,EAAgBN,EAAUC,EAAa,CAC5L,SAASK,EAAgBC,EAAGC,GAAKF,EAAkBH,OAAOM,eAAiBN,OAAOM,eAAeC,OAAS,SAASJ,EAAgBC,EAAGC,GAAKD,EAAEI,UAAYH,EAAG,OAAOD,CAAG,EAAG,OAAOD,EAAgBC,EAAGC,EAAI,CACvM,MAAMI,EAAUpB,EAAQoB,QACxB,IAAIC,GAAmBjB,EAAOE,EAAe,+BAAgCF,EAAKC,EAAsB,SAAUiB,GAChHf,EAAec,EAAiBC,GAChC,SAASD,EAAgBE,GACvB,IAAIC,EACJA,EAAQF,EAAYG,KAAKC,OAASA,KAClCF,EAAMG,kBAAoB,CAAC,EAC3BH,EAAMD,cAAgBA,EACtBC,EAAMI,IAAM,GAAGL,EAAcM,0BAC7BL,EAAMM,4BAA8B,EACpCN,EAAMO,eAAiB,MACvBnC,EAAIoC,KAAK,2CACT,OAAOR,CACT,CACA,IAAIS,EAASZ,EAAgBX,UAC7BuB,EAAOJ,MAAQ,SAASA,IACtB,OAAOH,KAAKE,GACd,EAQAK,EAAOC,eAAiBC,eAAeD,IACrC,IAAKR,KAAKH,cAAca,6BAA6BC,kBAAkBC,UAAYpC,EAAWqC,SAASb,MAAO,CAC5G,MACF,CACA,MAAMc,EAAqBd,KAAKH,cAAckB,uBAC5CC,EAAehB,KAAKH,cAAcoB,iBAClCC,EAAQF,EAAaG,UACrBC,EAAcpB,KAAKH,cAAcwB,iBAAiBC,gBAClDC,EAAgB9C,EAAY+C,yBAAyBxB,KAAKH,cAAc4B,gBAC1E,IAAKL,EAAYM,UAAW,CAC1B,MAAM,IAAIC,MAAM,gEAAgEP,EAAYQ,cAAcC,YAC5G,CACA,MAAMC,QAAuBV,EAAYM,UAAUK,oBACnD,MAAMC,EAAa,CACjBC,SAAUH,GAEZ,GAAIA,IAAmB3D,EAAU6B,KAAKC,kBAAmB6B,GAAiB,CACxE9B,KAAKC,kBAAoB6B,EACzB,IACE9B,KAAKI,8BACL,MAAM8B,QAAqBpB,EAAmBqB,wBAAwBH,EAAY,KAAM,MACxF9D,EAAIoC,KAAK,6BACT,MAAM8B,EAAWtB,EAAmBuB,wBAAwBnB,EAAOgB,GACnElC,KAAKI,8BACL,GAAIJ,KAAKI,8BAAgC,GAAKgC,IAAalB,EAAO,CAChEF,EAAasB,UAAUF,EAAUG,UAAWA,UAAWA,WAAYhB,GACnEvB,KAAKK,eAAiB,IACxB,CACAnC,EAAIoC,KAAK,sBACX,CAAE,MAAOkC,GACPtE,EAAIuE,MAAMD,EACZ,CACF,CACA,OAAOR,CACT,EACAzB,EAAOmC,4BAA8B,SAASA,EAA4BC,EAAUC,GAClF,OAAO3D,OAAO4D,OAAO,CAAC,EAAGF,EAAU,CACjCG,yBAA0BH,EAASI,2BACnCC,iBAAkBL,EAASM,kBAC3BC,yBAA0BP,EAASQ,0BACnCC,eAAgBR,GAEpB,EACArC,EAAO8C,uBAAyB,SAASA,EAAuBC,GAE9D,MAAMC,EAAuBD,GAAQA,EAAKE,kBAAkB,YAC5D,GAAID,GAAwBA,EAAqBE,YAAY,qBAAuB,KAAM,CACxF,MAAMC,EAAsBH,GAAwBA,EAAqBE,YAAY,iCACrF,MAAME,EAAiBL,IAAS,MAAQA,SAAc,OAAS,EAAIA,EAAKE,oBACxE,MAAMI,EAAOD,GAAkBA,EAAeE,WAAa,GAC3D,MAAMC,EAAYH,IAAmB,MAAQA,SAAwB,OAAS,EAAIA,EAAeI,WAAWtC,eAC5G,MAAMuC,EAAWF,IAAc,MAAQA,SAAmB,OAAS,EAAIA,EAAUG,YAAYL,GAC7F,MAAMM,EAAgBJ,IAAc,MAAQA,SAAmB,OAAS,EAAIA,EAAUK,UAAU,GAAGH,gBACnG,IAAK,IAAII,EAAI,EAAGA,EAAIF,EAAcG,OAAQD,IAAK,CAC7C,MAAME,EAAWX,EAAeQ,YAAYD,EAAcE,IAC1D,GAAIE,IAAaZ,EAAoBQ,EAAcE,IAAK,CACtDb,EAAqBgB,YAAY,kBAAmB,OACpD,OAAO,IACT,CACF,CAEF,CAEA,OAAO,KACT,EACAhE,EAAOiE,iBAAmB,SAASA,EAAiB7B,EAAU8B,EAAQC,GACpE,IAAIC,EAAM,GACRP,EAAI,EACN,MAAMQ,EAAeF,IAAYhF,EAAQmF,OAASlC,EAASmC,UAAYnC,EACvE,GAAIiC,IAAiB,MAAQA,SAAsB,GAAKA,EAAa3C,SAAU,CAC7E,IAAKmC,EAAI,EAAGA,EAAInF,OAAO8F,KAAKH,EAAa3C,UAAUoC,OAAQD,IAAK,CAC9D,GAAInF,OAAO8F,KAAKH,EAAa3C,UAAUmC,KAAOK,EAAQ,CACpDE,EAAM1F,OAAO8F,KAAKH,EAAa3C,UAAUmC,GACzC,KACF,CACF,CACF,CACA,GAAIQ,IAAiB,MAAQA,SAAsB,GAAKA,EAAa3C,SAAU,CAC7E,MAAO,CACL,CAAChD,OAAO8F,KAAKH,EAAa3C,UAAUmC,IAAKQ,EAAa3C,SAAS0C,IAAQ,CAAC,EAE5E,CACF,EAcApE,EAAOyE,cAAgBvE,eAAeuE,EAAcP,EAAQnB,GAC1D,IAAKtD,KAAKH,cAAca,6BAA6BC,kBAAkBC,UAAYpC,EAAWqC,SAASb,MAAO,CAC5G,OAAOiF,QAAQC,SACjB,CACA,MAAMC,EAAwBnF,KAAKqD,uBAAuBC,GAC1D,GAAI6B,IAA0B,KAAM,CAClC,OAAOF,QAAQC,SACjB,CACA1G,EAAW4G,KAAKpF,MAEhBxB,EAAW4G,KAAKpF,KAAKH,cAAcwB,kBACnC,MAAMP,EAAqBd,KAAKH,cAAckB,uBAE9C,OAAO1C,EAAayC,EAAmBuE,mBAAmBC,MAAM,SAAUC,GACxE,IAAKA,EAAY,CACfA,EAAa,EACf,CACArH,EAAIsH,QAAQ,oCAAqCD,EAAW,IAC5D,MAAO,CAAC,CAER,EAAGA,EAAW,GAAIA,EAAW,GAC/B,GAAGE,KAAKC,IACNxH,EAAIoC,KAAK,mCAGT,MAAMqC,EAAW+C,EAAS,IAAM,CAAC,EAC/B9C,EAAW8C,EAAS,IAAMhG,EAAQiG,QAClCC,EAAkB5F,KAAKH,cAAcwB,iBAAiBC,gBAExD,MAAMsD,EAAe5E,KAAKwE,iBAAiB7B,EAAU8B,EAAQ7B,GAC7D5C,KAAKC,kBAAoB2C,IAAalD,EAAQoF,WAAalC,IAAalD,EAAQmF,OAASD,EAAerC,UACxG,IAAKqD,EAAgBlE,UAAW,CAC9B,MAAM,IAAIC,MAAM,+CAA+CiE,EAAgBhE,cAAcC,YAC/F,CACA,KAAMc,GAAY1D,OAAO8F,KAAKpC,GAAU0B,SAAW,IAAMzB,GAAYlD,EAAQoF,UAAW,CACtF,MAAO,CAAC,CACV,CACA,OAAOc,EAAgBlE,UAAUmE,eAAe7F,KAAKC,kBAAmBD,KAAK0C,4BAA4BC,EAAUC,GAAU,GAC5H0C,MAAM,SAAU9C,GACjBtE,EAAIuE,MAAM,gCAAiCD,GAC3C,MAAMA,CACR,GAAGsD,QAAQ,KACTtH,EAAWuH,OAAO/F,MAClBxB,EAAWuH,OAAO/F,KAAKH,cAAcwB,iBAAiB,EAE1D,EAOAd,EAAOyF,0BAA4B,SAASA,IAC1C,OAAOhG,KAAKK,cACd,EAKAE,EAAO0F,wBAA0B,SAASA,IACxC,GAAIjG,KAAKK,eAAgB,CACvBL,KAAKK,eAAiB,KACxB,CACF,EACA,OAAOV,CACT,CAzLwG,CAyLtGpB,KAAgBI,GAIlB,OAAOgB,CACT,EAAG"}
1
+ {"version":3,"file":"AppStateHandler.js","names":["sap","ui","define","Log","deepEqual","ClassSupport","toES6Promise","library","BaseObject","BusyLocker","ModelHelper","_dec","_class","defineUI5Class","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","NavType","AppStateHandler","_BaseObject","oAppComponent","_this","call","this","_mCurrentAppState","sId","getId","nbSimultaneousCreateRequest","bNoRouteChange","info","_proto","createAppState","async","getEnvironmentCapabilities","getCapabilities","AppState","isLocked","oNavigationService","getNavigationService","oRouterProxy","getRouterProxy","sHash","getHash","oController","getRootControl","getController","bIsStickyMode","isStickySessionSupported","getMetaModel","viewState","Error","getMetadata","getName","mInnerAppState","retrieveViewState","oStoreData","appState","sAppStateKey","storeInnerAppStateAsync","sNewHash","replaceInnerAppStateKey","navToHash","undefined","oError","error","_createNavigationParameters","oAppData","sNavType","assign","selectionVariantDefaults","oDefaultedSelectionVariant","selectionVariant","oSelectionVariant","requiresStandardVariant","bNavSelVarHasDefaultsOnly","navigationType","_checkIfLastSeenRecord","view","internalModelContext","getBindingContext","getProperty","technicalKeysObject","bindingContext","path","getPath","metaModel","getModel","metaPath","getMetaPath","technicalKeys","getObject","i","length","keyValue","setProperty","_getAppStateData","viewId","navType","key","appStateData","hybrid","iAppState","keys","applyAppState","Promise","resolve","checkIfLastSeenRecord","lock","parseNavigation","catch","aErrorData","warning","then","aResults","initial","oRootController","_getInitialStateApplied","_setInitialStateApplied","applyViewState","finally","unlock","checkIfRouteChangedByIApp","resetRouteChangedByIApp"],"sources":["AppStateHandler-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,0BAA2B,mCAAoC,mCAAoC,4BAA6B,qBAAsB,oCAAqC,yBAA0B,SAAUC,EAAKC,EAAWC,EAAcC,EAAcC,EAASC,EAAYC,EAAYC,GACzU,aAEA,IAAIC,EAAMC,EACV,IAAIC,EAAiBR,EAAaQ,eAClC,SAASC,EAAeC,EAAUC,GAAcD,EAASE,UAAYC,OAAOC,OAAOH,EAAWC,WAAYF,EAASE,UAAUG,YAAcL,EAAUM,EAAgBN,EAAUC,EAAa,CAC5L,SAASK,EAAgBC,EAAGC,GAAKF,EAAkBH,OAAOM,eAAiBN,OAAOM,eAAeC,OAAS,SAASJ,EAAgBC,EAAGC,GAAKD,EAAEI,UAAYH,EAAG,OAAOD,CAAG,EAAG,OAAOD,EAAgBC,EAAGC,EAAI,CACvM,MAAMI,EAAUpB,EAAQoB,QACxB,IAAIC,GAAmBjB,EAAOE,EAAe,+BAAgCF,EAAKC,EAAsB,SAAUiB,GAChHf,EAAec,EAAiBC,GAChC,SAASD,EAAgBE,GACvB,IAAIC,EACJA,EAAQF,EAAYG,KAAKC,OAASA,KAClCF,EAAMG,kBAAoB,CAAC,EAC3BH,EAAMD,cAAgBA,EACtBC,EAAMI,IAAM,GAAGL,EAAcM,0BAC7BL,EAAMM,4BAA8B,EACpCN,EAAMO,eAAiB,MACvBnC,EAAIoC,KAAK,2CACT,OAAOR,CACT,CACA,IAAIS,EAASZ,EAAgBX,UAC7BuB,EAAOJ,MAAQ,SAASA,IACtB,OAAOH,KAAKE,GACd,EAQAK,EAAOC,eAAiBC,eAAeD,IACrC,IAAKR,KAAKH,cAAca,6BAA6BC,kBAAkBC,UAAYpC,EAAWqC,SAASb,MAAO,CAC5G,MACF,CACA,MAAMc,EAAqBd,KAAKH,cAAckB,uBAC5CC,EAAehB,KAAKH,cAAcoB,iBAClCC,EAAQF,EAAaG,UACrBC,EAAcpB,KAAKH,cAAcwB,iBAAiBC,gBAClDC,EAAgB9C,EAAY+C,yBAAyBxB,KAAKH,cAAc4B,gBAC1E,IAAKL,EAAYM,UAAW,CAC1B,MAAM,IAAIC,MAAM,gEAAgEP,EAAYQ,cAAcC,YAC5G,CACA,MAAMC,QAAuBV,EAAYM,UAAUK,oBACnD,MAAMC,EAAa,CACjBC,SAAUH,GAEZ,GAAIA,IAAmB3D,EAAU6B,KAAKC,kBAAmB6B,GAAiB,CACxE9B,KAAKC,kBAAoB6B,EACzB,IACE9B,KAAKI,8BACL,MAAM8B,QAAqBpB,EAAmBqB,wBAAwBH,EAAY,KAAM,MACxF9D,EAAIoC,KAAK,6BACT,MAAM8B,EAAWtB,EAAmBuB,wBAAwBnB,EAAOgB,GACnElC,KAAKI,8BACL,GAAIJ,KAAKI,8BAAgC,GAAKgC,IAAalB,EAAO,CAChEF,EAAasB,UAAUF,EAAUG,UAAWA,UAAWA,WAAYhB,GACnEvB,KAAKK,eAAiB,IACxB,CACAnC,EAAIoC,KAAK,sBACX,CAAE,MAAOkC,GACPtE,EAAIuE,MAAMD,EACZ,CACF,CACA,OAAOR,CACT,EACAzB,EAAOmC,4BAA8B,SAASA,EAA4BC,EAAUC,GAClF,OAAO3D,OAAO4D,OAAO,CAAC,EAAGF,EAAU,CACjCG,yBAA0BH,EAASI,2BACnCC,iBAAkBL,EAASM,kBAC3BC,yBAA0BP,EAASQ,0BACnCC,eAAgBR,GAEpB,EACArC,EAAO8C,uBAAyB,SAASA,EAAuBC,GAE9D,MAAMC,EAAuBD,GAAQA,EAAKE,kBAAkB,YAC5D,GAAID,GAAwBA,EAAqBE,YAAY,qBAAuB,KAAM,CACxF,MAAMC,EAAsBH,GAAwBA,EAAqBE,YAAY,iCACrF,MAAME,EAAiBL,IAAS,MAAQA,SAAc,OAAS,EAAIA,EAAKE,oBACxE,MAAMI,EAAOD,GAAkBA,EAAeE,WAAa,GAC3D,MAAMC,EAAYH,IAAmB,MAAQA,SAAwB,OAAS,EAAIA,EAAeI,WAAWtC,eAC5G,MAAMuC,EAAWF,IAAc,MAAQA,SAAmB,OAAS,EAAIA,EAAUG,YAAYL,GAC7F,MAAMM,EAAgBJ,IAAc,MAAQA,SAAmB,OAAS,EAAIA,EAAUK,UAAU,GAAGH,gBACnG,IAAK,IAAII,EAAI,EAAGA,EAAIF,EAAcG,OAAQD,IAAK,CAC7C,MAAME,EAAWX,EAAeQ,YAAYD,EAAcE,IAC1D,GAAIE,IAAaZ,EAAoBQ,EAAcE,IAAK,CACtDb,EAAqBgB,YAAY,kBAAmB,OACpD,OAAO,IACT,CACF,CAEF,CAEA,OAAO,KACT,EACAhE,EAAOiE,iBAAmB,SAASA,EAAiB7B,EAAU8B,EAAQC,GACpE,IAAIC,EAAM,GACRP,EAAI,EACN,MAAMQ,EAAeF,IAAYhF,EAAQmF,OAASlC,EAASmC,UAAYnC,EACvE,GAAIiC,IAAiB,MAAQA,SAAsB,GAAKA,EAAa3C,SAAU,CAC7E,IAAKmC,EAAI,EAAGA,EAAInF,OAAO8F,KAAKH,EAAa3C,UAAUoC,OAAQD,IAAK,CAC9D,GAAInF,OAAO8F,KAAKH,EAAa3C,UAAUmC,KAAOK,EAAQ,CACpDE,EAAM1F,OAAO8F,KAAKH,EAAa3C,UAAUmC,GACzC,KACF,CACF,CACF,CACA,GAAIQ,IAAiB,MAAQA,SAAsB,GAAKA,EAAa3C,SAAU,CAC7E,MAAO,CACL,CAAChD,OAAO8F,KAAKH,EAAa3C,UAAUmC,IAAKQ,EAAa3C,SAAS0C,IAAQ,CAAC,EAE5E,CACF,EAcApE,EAAOyE,cAAgBvE,eAAeuE,EAAcP,EAAQnB,GAC1D,IAAKtD,KAAKH,cAAca,6BAA6BC,kBAAkBC,UAAYpC,EAAWqC,SAASb,MAAO,CAC5G,OAAOiF,QAAQC,SACjB,CACA,MAAMC,EAAwBnF,KAAKqD,uBAAuBC,GAC1D,GAAI6B,IAA0B,KAAM,CAClC,OAAOF,QAAQC,SACjB,CACA1G,EAAW4G,KAAKpF,MAEhBxB,EAAW4G,KAAKpF,KAAKH,cAAcwB,kBACnC,MAAMP,EAAqBd,KAAKH,cAAckB,uBAE9C,OAAO1C,EAAayC,EAAmBuE,mBAAmBC,MAAM,SAAUC,GACxE,IAAKA,EAAY,CACfA,EAAa,EACf,CACArH,EAAIsH,QAAQ,oCAAqCD,EAAW,IAC5D,MAAO,CAAC,CAER,EAAGA,EAAW,GAAIA,EAAW,GAC/B,GAAGE,KAAKC,IACNxH,EAAIoC,KAAK,mCAGT,MAAMqC,EAAW+C,EAAS,IAAM,CAAC,EAC/B9C,EAAW8C,EAAS,IAAMhG,EAAQiG,QAClCC,EAAkB5F,KAAKH,cAAcwB,iBAAiBC,gBAExD,MAAMsD,EAAe5E,KAAKwE,iBAAiB7B,EAAU8B,EAAQ7B,GAC7D5C,KAAKC,kBAAoB2C,IAAalD,EAAQoF,WAAalC,IAAalD,EAAQmF,OAASD,EAAerC,UACxG,IAAKqD,EAAgBlE,UAAW,CAC9B,MAAM,IAAIC,MAAM,+CAA+CiE,EAAgBhE,cAAcC,YAC/F,CACA,KAAMc,GAAY1D,OAAO8F,KAAKpC,GAAU0B,SAAW,IAAMzB,GAAYlD,EAAQoF,UAAW,CACtF,IAAKc,EAAgBlE,UAAUmE,0BAA2B,CACxDD,EAAgBlE,UAAUoE,yBAC5B,CACA,MAAO,CAAC,CACV,CACA,OAAOF,EAAgBlE,UAAUqE,eAAe/F,KAAKC,kBAAmBD,KAAK0C,4BAA4BC,EAAUC,GAAU,GAC5H0C,MAAM,SAAU9C,GACjBtE,EAAIuE,MAAM,gCAAiCD,GAC3C,MAAMA,CACR,GAAGwD,QAAQ,KACTxH,EAAWyH,OAAOjG,MAClBxB,EAAWyH,OAAOjG,KAAKH,cAAcwB,iBAAiB,EAE1D,EAOAd,EAAO2F,0BAA4B,SAASA,IAC1C,OAAOlG,KAAKK,cACd,EAKAE,EAAO4F,wBAA0B,SAASA,IACxC,GAAInG,KAAKK,eAAgB,CACvBL,KAAKK,eAAiB,KACxB,CACF,EACA,OAAOV,CACT,CA5LwG,CA4LtGpB,KAAgBI,GAIlB,OAAOgB,CACT,EAAG"}
@@ -21,7 +21,7 @@ type AppData = {
21
21
  appState: AppState;
22
22
  iAppState?: {
23
23
  appState: AppState;
24
- }
24
+ };
25
25
  };
26
26
 
27
27
  @defineUI5Class("sap.fe.core.AppStateHandler")
@@ -200,6 +200,9 @@ class AppStateHandler extends BaseObject {
200
200
  throw new Error(`viewState extension required for controller ${oRootController.getMetadata().getName()}`);
201
201
  }
202
202
  if ((!oAppData || Object.keys(oAppData).length === 0) && sNavType == NavType.iAppState) {
203
+ if (!oRootController.viewState._getInitialStateApplied()) {
204
+ oRootController.viewState._setInitialStateApplied();
205
+ }
203
206
  return {};
204
207
  }
205
208
  return oRootController.viewState.applyViewState(
@@ -209,10 +209,11 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
209
209
  const oPageModel = this._view.getModel("_pageModel");
210
210
  const oMetaModel = (_this$getModel = this.getModel()) === null || _this$getModel === void 0 ? void 0 : _this$getModel.getMetaModel();
211
211
  const mViewData = oTemplateComponent.getViewData();
212
+ const targetContextPath = oTemplateComponent.getEntitySet() ? `/${oTemplateComponent.getEntitySet()}` : oTemplateComponent.getContextPath();
212
213
  const oViewDataModel = new JSONModel(mViewData),
213
214
  oPreprocessorSettings = {
214
215
  bindingContexts: {
215
- contextPath: oMetaModel === null || oMetaModel === void 0 ? void 0 : oMetaModel.createBindingContext(mSettings.contextPath || `/${oTemplateComponent.getEntitySet()}`),
216
+ contextPath: oMetaModel === null || oMetaModel === void 0 ? void 0 : oMetaModel.createBindingContext(mSettings.contextPath || targetContextPath),
216
217
  converterContext: oPageModel.createBindingContext("/", undefined, {
217
218
  noResolve: true
218
219
  }),
@@ -273,4 +274,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/ui/base/Object",
273
274
  })), _class2)) || _class);
274
275
  return ExtensionAPI;
275
276
  }, false);
276
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFeHRlbnNpb25BUEkiLCJkZWZpbmVVSTVDbGFzcyIsInByb3BlcnR5IiwidHlwZSIsIm9Db250cm9sbGVyIiwic0lkIiwiX2NvbnRyb2xsZXIiLCJfdmlldyIsImdldFZpZXciLCJleHRlbnNpb24iLCJlZGl0RmxvdyIsInJvdXRpbmciLCJfcm91dGluZyIsImludGVudEJhc2VkTmF2aWdhdGlvbiIsIl9wcmVmaXgiLCJkZXN0cm95IiwiZ2V0RWRpdEZsb3ciLCJnZXRSb3V0aW5nIiwiZ2V0SW50ZW50QmFzZWROYXZpZ2F0aW9uIiwiYnlJZCIsIm9Db250cm9sIiwiZ2V0TW9kZWwiLCJzTW9kZWxOYW1lIiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0TWFuaWZlc3RFbnRyeSIsIm1vZGVscyIsInVuZGVmaW5lZCIsImFkZERlcGVuZGVudCIsInJlbW92ZURlcGVuZGVudCIsIm5hdmlnYXRlVG9UYXJnZXQiLCJzVGFyZ2V0Iiwib0NvbnRleHQiLCJsb2FkRnJhZ21lbnQiLCJtU2V0dGluZ3MiLCJvVGVtcGxhdGVDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9QYWdlTW9kZWwiLCJvTWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibVZpZXdEYXRhIiwiZ2V0Vmlld0RhdGEiLCJvVmlld0RhdGFNb2RlbCIsIkpTT05Nb2RlbCIsIm9QcmVwcm9jZXNzb3JTZXR0aW5ncyIsImJpbmRpbmdDb250ZXh0cyIsImNvbnRleHRQYXRoIiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJnZXRFbnRpdHlTZXQiLCJjb252ZXJ0ZXJDb250ZXh0Iiwibm9SZXNvbHZlIiwidmlld0RhdGEiLCJtZXRhTW9kZWwiLCJhcHBDb21wb25lbnQiLCJvVGVtcGxhdGVQcm9taXNlIiwidGVtcGxhdGVDb250cm9sRnJhZ21lbnQiLCJuYW1lIiwiY29udHJvbGxlciIsImlzWE1MIiwiaWQiLCJ0aGVuIiwib0ZyYWdtZW50IiwiaW5pdGlhbEJpbmRpbmdDb250ZXh0Iiwic2V0QmluZGluZ0NvbnRleHQiLCJjYXRjaCIsIm9FcnJvciIsIkxvZyIsImVycm9yIiwidXBkYXRlQXBwU3RhdGUiLCJnZXRBcHBTdGF0ZUhhbmRsZXIiLCJjcmVhdGVBcHBTdGF0ZSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIEVkaXRGbG93IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9FZGl0Rmxvd1wiO1xuaW1wb3J0IHR5cGUgSW50ZW50QmFzZWROYXZpZ2F0aW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9JbnRlbnRCYXNlZE5hdmlnYXRpb25cIjtcbmltcG9ydCB0eXBlIEludGVybmFsUm91dGluZyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZXJuYWxSb3V0aW5nXCI7XG5pbXBvcnQgdHlwZSBSb3V0aW5nIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9Sb3V0aW5nXCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIFRlbXBsYXRlQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9UZW1wbGF0ZUNvbXBvbmVudFwiO1xuaW1wb3J0IEJhc2VPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL09iamVjdFwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgRW5oYW5jZVdpdGhVSTUgfSBmcm9tIFwiLi9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcIi4vaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcblxuLyoqXG4gKiBDb21tb24gRXh0ZW5zaW9uIEFQSSBmb3IgYWxsIHBhZ2VzIG9mIFNBUCBGaW9yaSBlbGVtZW50cyBmb3IgT0RhdGEgVjQuXG4gKlxuICogVG8gY29ycmVjdGx5IGludGVncmF0ZSB5b3VyIGFwcCBleHRlbnNpb24gY29kaW5nIHdpdGggU0FQIEZpb3JpIGVsZW1lbnRzLCB1c2Ugb25seSB0aGUgZXh0ZW5zaW9uQVBJIG9mIFNBUCBGaW9yaSBlbGVtZW50cy4gRG9uJ3QgYWNjZXNzIG9yIG1hbmlwdWxhdGUgY29udHJvbHMsIHByb3BlcnRpZXMsIG1vZGVscywgb3Igb3RoZXIgaW50ZXJuYWwgb2JqZWN0cyBjcmVhdGVkIGJ5IHRoZSBTQVAgRmlvcmkgZWxlbWVudHMgZnJhbWV3b3JrLlxuICpcbiAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUElcbiAqIEBwdWJsaWNcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqIEBleHRlbmRzIHNhcC51aS5iYXNlLk9iamVjdFxuICogQHNpbmNlIDEuNzkuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5FeHRlbnNpb25BUElcIilcbmNsYXNzIEV4dGVuc2lvbkFQSSBleHRlbmRzIEJhc2VPYmplY3Qge1xuXHQvKipcblx0ICogQSBjb250cm9sbGVyIGV4dGVuc2lvbiBvZmZlcmluZyBob29rcyBpbnRvIHRoZSBlZGl0IGZsb3cgb2YgdGhlIGFwcGxpY2F0aW9uLlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0VkaXRGbG93XCIgfSlcblx0ZWRpdEZsb3c6IEVkaXRGbG93O1xuXG5cdC8qKlxuXHQgKiBBIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG9mZmVyaW5nIGhvb2tzIGludG8gdGhlIHJvdXRpbmcgZmxvdyBvZiB0aGUgYXBwbGljYXRpb24uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUm91dGluZ1wiIH0pXG5cdHJvdXRpbmc6IFJvdXRpbmc7XG5cblx0LyoqXG5cdCAqIEV4dGVuc2lvbkFQSSBmb3IgaW50ZW50LWJhc2VkIG5hdmlnYXRpb25cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9JbnRlbnRCYXNlZE5hdmlnYXRpb25cIiB9KVxuXHRpbnRlbnRCYXNlZE5hdmlnYXRpb246IEludGVudEJhc2VkTmF2aWdhdGlvbjtcblxuXHRwcm90ZWN0ZWQgX2NvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyO1xuXG5cdHByb3RlY3RlZCBfdmlldzogVmlldztcblxuXHRwcml2YXRlIF9yb3V0aW5nOiBJbnRlcm5hbFJvdXRpbmc7XG5cblx0cHJpdmF0ZSBfcHJlZml4Pzogc3RyaW5nO1xuXG5cdHByaXZhdGUgZXh0ZW5zaW9uOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuXHRjb25zdHJ1Y3RvcihvQ29udHJvbGxlcjogUGFnZUNvbnRyb2xsZXIsIHNJZD86IHN0cmluZykge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5fY29udHJvbGxlciA9IG9Db250cm9sbGVyO1xuXHRcdHRoaXMuX3ZpZXcgPSBvQ29udHJvbGxlci5nZXRWaWV3KCk7XG5cdFx0dGhpcy5leHRlbnNpb24gPSB0aGlzLl9jb250cm9sbGVyLmV4dGVuc2lvbjtcblx0XHR0aGlzLmVkaXRGbG93ID0gdGhpcy5fY29udHJvbGxlci5lZGl0Rmxvdztcblx0XHR0aGlzLnJvdXRpbmcgPSB0aGlzLl9jb250cm9sbGVyLnJvdXRpbmc7XG5cdFx0dGhpcy5fcm91dGluZyA9IHRoaXMuX2NvbnRyb2xsZXIuX3JvdXRpbmc7XG5cdFx0dGhpcy5pbnRlbnRCYXNlZE5hdmlnYXRpb24gPSB0aGlzLl9jb250cm9sbGVyLmludGVudEJhc2VkTmF2aWdhdGlvbjtcblx0XHR0aGlzLl9wcmVmaXggPSBzSWQ7XG5cdH1cblxuXHRkZXN0cm95KCkge1xuXHRcdC8vIGRlbGV0ZSB0aGlzLl9jb250cm9sbGVyO1xuXHRcdC8vIGRlbGV0ZSB0aGlzLl92aWV3O1xuXHRcdC8vIGRlbGV0ZSB0aGlzLmVkaXRGbG93Ll9jb250cm9sbGVyO1xuXHRcdC8vIGRlbGV0ZSB0aGlzLmludGVudEJhc2VkTmF2aWdhdGlvbi5fY29udHJvbGxlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGVkaXRGbG93IGNvbnRyb2xsZXIgZXh0ZW5zaW9uIGZvciB0aGlzIHBhZ2UuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICogQHJldHVybnMgVGhlIGVkaXRGbG93IGNvbnRyb2xsZXIgZXh0ZW5zaW9uXG5cdCAqL1xuXHRnZXRFZGl0RmxvdygpIHtcblx0XHRyZXR1cm4gdGhpcy5lZGl0Rmxvdztcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIHJvdXRpbmcgY29udHJvbGxlciBleHRlbnNpb24gZm9yIHRoaXMgcGFnZS5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKiBAcmV0dXJucyBUaGUgcm91dGluZyBjb250cm9sbGVyIGV4dGVuc2lvblxuXHQgKi9cblx0Z2V0Um91dGluZygpIHtcblx0XHRyZXR1cm4gdGhpcy5yb3V0aW5nO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgaW50ZW50QmFzZWROYXZpZ2F0aW9uIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIGZvciB0aGlzIHBhZ2UuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICogQHJldHVybnMgVGhlIGludGVudEJhc2VkTmF2aWdhdGlvbiBjb250cm9sbGVyIGV4dGVuc2lvblxuXHQgKi9cblx0Z2V0SW50ZW50QmFzZWROYXZpZ2F0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLmludGVudEJhc2VkTmF2aWdhdGlvbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBY2Nlc3MgYW55IGNvbnRyb2wgYnkgSUQuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjYnlJZFxuXHQgKiBAcGFyYW0gc0lkIElEIG9mIHRoZSBjb250cm9sIHdpdGhvdXQgdGhlIHZpZXcgcHJlZml4LiBFaXRoZXIgdGhlIElEIHByZWZpeGVkIGJ5IFNBUCBGaW9yaSBlbGVtZW50c1xuXHQgKiAoZm9yIGV4YW1wbGUgd2l0aCB0aGUgc2VjdGlvbikgb3IgdGhlIGNvbnRyb2wgSUQgb25seS4gVGhlIGxhdHRlciB3b3JrcyBvbmx5IGZvciBhbiBleHRlbnNpb24gcnVubmluZyBpblxuXHQgKiB0aGUgc2FtZSBjb250ZXh0IChsaWtlIGluIHRoZSBzYW1lIHNlY3Rpb24pLiBZb3UgY2FuIHVzZSB0aGUgcHJlZml4IGZvciBTQVAgRmlvcmkgZWxlbWVudHMgdG8gYWxzbyBhY2Nlc3Mgb3RoZXIgY29udHJvbHMgbG9jYXRlZCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG5cdCAqIEByZXR1cm5zIFRoZSByZXF1ZXN0ZWQgY29udHJvbCwgaWYgZm91bmQgaW4gdGhlIHZpZXcuXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRieUlkKHNJZDogc3RyaW5nKSB7XG5cdFx0bGV0IG9Db250cm9sID0gdGhpcy5fdmlldy5ieUlkKHNJZCk7XG5cblx0XHRpZiAoIW9Db250cm9sICYmIHRoaXMuX3ByZWZpeCkge1xuXHRcdFx0Ly8gZ2l2ZSBpdCBhIHRyeSB3aXRoIHRoZSBwcmVmaXhcblx0XHRcdG9Db250cm9sID0gdGhpcy5fdmlldy5ieUlkKGAke3RoaXMuX3ByZWZpeH0tLSR7c0lkfWApO1xuXHRcdH1cblx0XHRyZXR1cm4gb0NvbnRyb2w7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGFjY2VzcyB0byBtb2RlbHMgbWFuYWdlZCBieSBTQVAgRmlvcmkgZWxlbWVudHMuPGJyPlxuXHQgKiBUaGUgZm9sbG93aW5nIG1vZGVscyBjYW4gYmUgYWNjZXNzZWQ6XG5cdCAqIDx1bD5cblx0ICogPGxpPnVuZGVmaW5lZDogdGhlIHVuZGVmaW5lZCBtb2RlbCByZXR1cm5zIHRoZSBTQVBVSTUgT0RhdGEgVjQgbW9kZWwgYm91bmQgdG8gdGhpcyBwYWdlPC9saT5cblx0ICogPGxpPmkxOG4gLyBmdXJ0aGVyIGRhdGEgbW9kZWxzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0PC9saT5cblx0ICogPGxpPnVpOiByZXR1cm5zIGEgU0FQVUk1IEpTT04gbW9kZWwgY29udGFpbmluZyBVSSBpbmZvcm1hdGlvbi5cblx0ICogT25seSB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgYXJlIHB1YmxpYyBhbmQgc3VwcG9ydGVkOlxuXHQgKiBcdDx1bD5cblx0ICogICAgIDxsaT5pc0VkaXRhYmxlOiBzZXQgdG8gdHJ1ZSBpZiB0aGUgYXBwbGljYXRpb24gaXMgaW4gZWRpdCBtb2RlPC9saT5cblx0ICogIDwvdWw+XG5cdCAqIDwvbGk+XG5cdCAqIDwvdWw+LlxuXHQgKiBlZGl0TW9kZSBpcyBkZXByZWNhdGVkIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYW55bW9yZS4gVXNlIGlzRWRpdGFibGUgaW5zdGVhZC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNnZXRNb2RlbFxuXHQgKiBAcGFyYW0gc01vZGVsTmFtZSBOYW1lIG9mIHRoZSBtb2RlbFxuXHQgKiBAcmV0dXJucyBUaGUgcmVxdWlyZWQgbW9kZWxcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0TW9kZWwoc01vZGVsTmFtZT86IHN0cmluZyk6IE1vZGVsIHwgdW5kZWZpbmVkIHtcblx0XHRsZXQgb0FwcENvbXBvbmVudDtcblxuXHRcdGlmIChzTW9kZWxOYW1lICYmIHNNb2RlbE5hbWUgIT09IFwidWlcIikge1xuXHRcdFx0b0FwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLl92aWV3KTtcblx0XHRcdGlmICghb0FwcENvbXBvbmVudC5nZXRNYW5pZmVzdEVudHJ5KFwic2FwLnVpNVwiKS5tb2RlbHNbc01vZGVsTmFtZV0pIHtcblx0XHRcdFx0Ly8gZG9uJ3QgYWxsb3cgYWNjZXNzIHRvIG91ciBpbnRlcm5hbCBtb2RlbHNcblx0XHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRNb2RlbChzTW9kZWxOYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgYW55IGNvbnRyb2wgYXMgYSBkZXBlbmRlbnQgY29udHJvbCB0byB0aGlzIFNBUCBGaW9yaSBlbGVtZW50cyBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI2FkZERlcGVuZGVudFxuXHQgKiBAcGFyYW0gb0NvbnRyb2wgQ29udHJvbCB0byBiZSBhZGRlZCBhcyBhIGRlcGVuZGVudCBjb250cm9sXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFkZERlcGVuZGVudChvQ29udHJvbDogQ29udHJvbCkge1xuXHRcdHRoaXMuX3ZpZXcuYWRkRGVwZW5kZW50KG9Db250cm9sKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmUgYSBkZXBlbmRlbnQgY29udHJvbCBmcm9tIHRoaXMgU0FQIEZpb3JpIGVsZW1lbnRzIHBhZ2UuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjcmVtb3ZlRGVwZW5kZW50XG5cdCAqIEBwYXJhbSBvQ29udHJvbCBDb250cm9sIHRvIGJlIGFkZGVkIGFzIGEgZGVwZW5kZW50IGNvbnRyb2xcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cmVtb3ZlRGVwZW5kZW50KG9Db250cm9sOiBDb250cm9sKSB7XG5cdFx0dGhpcy5fdmlldy5yZW1vdmVEZXBlbmRlbnQob0NvbnRyb2wpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE5hdmlnYXRlIHRvIGFub3RoZXIgdGFyZ2V0LlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI25hdmlnYXRlVG9UYXJnZXRcblx0ICogQHBhcmFtIHNUYXJnZXQgTmFtZSBvZiB0aGUgdGFyZ2V0IHJvdXRlXG5cdCAqIEBwYXJhbSBbb0NvbnRleHRdIENvbnRleHQgaW5zdGFuY2Vcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0bmF2aWdhdGVUb1RhcmdldChzVGFyZ2V0OiBzdHJpbmcsIG9Db250ZXh0OiBDb250ZXh0KTogdm9pZCB7XG5cdFx0dGhpcy5fY29udHJvbGxlci5fcm91dGluZy5uYXZpZ2F0ZVRvVGFyZ2V0KG9Db250ZXh0LCBzVGFyZ2V0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2FkIGEgZnJhZ21lbnQgYW5kIGdvIHRocm91Z2ggdGhlIHRlbXBsYXRlIHByZXByb2Nlc3NvciB3aXRoIHRoZSBjdXJyZW50IHBhZ2UgY29udGV4dC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNsb2FkRnJhZ21lbnRcblx0ICogQHBhcmFtIG1TZXR0aW5ncyBUaGUgc2V0dGluZ3Mgb2JqZWN0XG5cdCAqIEBwYXJhbSBtU2V0dGluZ3MuaWQgVGhlIElEIG9mIHRoZSBmcmFnbWVudCBpdHNlbGZcblx0ICogQHBhcmFtIG1TZXR0aW5ncy5uYW1lIFRoZSBuYW1lIG9mIHRoZSBmcmFnbWVudCB0byBiZSBsb2FkZWRcblx0ICogQHBhcmFtIG1TZXR0aW5ncy5jb250cm9sbGVyIFRoZSBjb250cm9sbGVyIHRvIGJlIGF0dGFjaGVkIHRvIHRoZSBmcmFnbWVudFxuXHQgKiBAcGFyYW0gbVNldHRpbmdzLmNvbnRleHRQYXRoIFRoZSBjb250ZXh0UGF0aCB0byBiZSB1c2VkIGZvciB0aGUgdGVtcGxhdGluZyBwcm9jZXNzXG5cdCAqIEBwYXJhbSBtU2V0dGluZ3MuaW5pdGlhbEJpbmRpbmdDb250ZXh0IFRoZSBpbml0aWFsIGJpbmRpbmcgY29udGV4dFxuXHQgKiBAcmV0dXJucyBUaGUgZnJhZ21lbnQgZGVmaW5pdGlvblxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhc3luYyBsb2FkRnJhZ21lbnQobVNldHRpbmdzOiB7XG5cdFx0aWQ6IHN0cmluZztcblx0XHRuYW1lOiBzdHJpbmc7XG5cdFx0Y29udHJvbGxlcjogb2JqZWN0O1xuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmc7XG5cdFx0aW5pdGlhbEJpbmRpbmdDb250ZXh0OiBDb250ZXh0O1xuXHR9KTogUHJvbWlzZTxVSTVFbGVtZW50IHwgVUk1RWxlbWVudFtdPiB7XG5cdFx0Y29uc3Qgb1RlbXBsYXRlQ29tcG9uZW50ID0gQ29tcG9uZW50LmdldE93bmVyQ29tcG9uZW50Rm9yKHRoaXMuX3ZpZXcpIGFzIEVuaGFuY2VXaXRoVUk1PFRlbXBsYXRlQ29tcG9uZW50Pjtcblx0XHRjb25zdCBvUGFnZU1vZGVsID0gdGhpcy5fdmlldy5nZXRNb2RlbChcIl9wYWdlTW9kZWxcIik7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKT8uZ2V0TWV0YU1vZGVsKCk7XG5cdFx0Y29uc3QgbVZpZXdEYXRhID0gb1RlbXBsYXRlQ29tcG9uZW50LmdldFZpZXdEYXRhKCk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKG1WaWV3RGF0YSksXG5cdFx0XHRvUHJlcHJvY2Vzc29yU2V0dGluZ3MgPSB7XG5cdFx0XHRcdGJpbmRpbmdDb250ZXh0czoge1xuXHRcdFx0XHRcdGNvbnRleHRQYXRoOiBvTWV0YU1vZGVsPy5jcmVhdGVCaW5kaW5nQ29udGV4dChtU2V0dGluZ3MuY29udGV4dFBhdGggfHwgYC8ke29UZW1wbGF0ZUNvbXBvbmVudC5nZXRFbnRpdHlTZXQoKSF9YCksXG5cdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogb1BhZ2VNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIiwgdW5kZWZpbmVkLCB7IG5vUmVzb2x2ZTogdHJ1ZSB9KSxcblx0XHRcdFx0XHR2aWV3RGF0YTogbVZpZXdEYXRhID8gb1ZpZXdEYXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvXCIpIDogbnVsbFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XHRjb250ZXh0UGF0aDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBvUGFnZU1vZGVsLFxuXHRcdFx0XHRcdG1ldGFNb2RlbDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHR2aWV3RGF0YTogb1ZpZXdEYXRhTW9kZWxcblx0XHRcdFx0fSxcblx0XHRcdFx0YXBwQ29tcG9uZW50OiBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQodGhpcy5fdmlldylcblx0XHRcdH07XG5cdFx0Y29uc3Qgb1RlbXBsYXRlUHJvbWlzZSA9IENvbW1vblV0aWxzLnRlbXBsYXRlQ29udHJvbEZyYWdtZW50KG1TZXR0aW5ncy5uYW1lLCBvUHJlcHJvY2Vzc29yU2V0dGluZ3MsIHtcblx0XHRcdGNvbnRyb2xsZXI6IChtU2V0dGluZ3MuY29udHJvbGxlciBhcyBDb250cm9sbGVyKSB8fCB0aGlzLFxuXHRcdFx0aXNYTUw6IGZhbHNlLFxuXHRcdFx0aWQ6IG1TZXR0aW5ncy5pZFxuXHRcdH0pIGFzIFByb21pc2U8Q29udHJvbD47XG5cdFx0b1RlbXBsYXRlUHJvbWlzZVxuXHRcdFx0LnRoZW4oKG9GcmFnbWVudDogQ29udHJvbCkgPT4ge1xuXHRcdFx0XHRpZiAobVNldHRpbmdzLmluaXRpYWxCaW5kaW5nQ29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0b0ZyYWdtZW50LnNldEJpbmRpbmdDb250ZXh0KG1TZXR0aW5ncy5pbml0aWFsQmluZGluZ0NvbnRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuYWRkRGVwZW5kZW50KG9GcmFnbWVudCk7XG5cdFx0XHRcdHJldHVybiBvRnJhZ21lbnQ7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChvRXJyb3I6IHVua25vd24pIHtcblx0XHRcdFx0TG9nLmVycm9yKG9FcnJvciBhcyBzdHJpbmcpO1xuXHRcdFx0fSk7XG5cdFx0cmV0dXJuIG9UZW1wbGF0ZVByb21pc2U7XG5cdH1cblxuXHQvKipcblx0ICogVHJpZ2dlcnMgYW4gdXBkYXRlIG9mIHRoZSBhcHAgc3RhdGUuXG5cdCAqIFNob3VsZCBiZSBjYWxsZWQgaWYgdGhlIHN0YXRlIG9mIGEgY29udHJvbCwgb3IgYW55IG90aGVyIHN0YXRlLXJlbGV2YW50IGluZm9ybWF0aW9uLCB3YXMgY2hhbmdlZC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSN1cGRhdGVBcHBTdGF0ZVxuXHQgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBuZXcgYXBwIHN0YXRlIG9iamVjdC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YXN5bmMgdXBkYXRlQXBwU3RhdGUoKTogUHJvbWlzZTx2b2lkIHwgeyBhcHBTdGF0ZTogb2JqZWN0IH0+IHtcblx0XHRyZXR1cm4gdGhpcy5fY29udHJvbGxlci5nZXRBcHBDb21wb25lbnQoKS5nZXRBcHBTdGF0ZUhhbmRsZXIoKS5jcmVhdGVBcHBTdGF0ZSgpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV4dGVuc2lvbkFQSTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7OztFQW9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBVkEsSUFZTUEsWUFBWSxXQURqQkMsY0FBYyxDQUFDLDBCQUEwQixDQUFDLFVBT3pDQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQTRDLENBQUMsQ0FBQyxVQVEvREQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUEyQyxDQUFDLENBQUMsVUFROURELFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBeUQsQ0FBQyxDQUFDO0lBQUE7SUFyQjdFO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0lBSUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTs7SUFJQztBQUNEO0FBQ0E7QUFDQTtBQUNBOztJQWNDLHNCQUFZQyxXQUEyQixFQUFFQyxHQUFZLEVBQUU7TUFBQTtNQUN0RCw4QkFBTztNQUFDO01BQUE7TUFBQTtNQUNSLE1BQUtDLFdBQVcsR0FBR0YsV0FBVztNQUM5QixNQUFLRyxLQUFLLEdBQUdILFdBQVcsQ0FBQ0ksT0FBTyxFQUFFO01BQ2xDLE1BQUtDLFNBQVMsR0FBRyxNQUFLSCxXQUFXLENBQUNHLFNBQVM7TUFDM0MsTUFBS0MsUUFBUSxHQUFHLE1BQUtKLFdBQVcsQ0FBQ0ksUUFBUTtNQUN6QyxNQUFLQyxPQUFPLEdBQUcsTUFBS0wsV0FBVyxDQUFDSyxPQUFPO01BQ3ZDLE1BQUtDLFFBQVEsR0FBRyxNQUFLTixXQUFXLENBQUNNLFFBQVE7TUFDekMsTUFBS0MscUJBQXFCLEdBQUcsTUFBS1AsV0FBVyxDQUFDTyxxQkFBcUI7TUFDbkUsTUFBS0MsT0FBTyxHQUFHVCxHQUFHO01BQUM7SUFDcEI7SUFBQztJQUFBLE9BRURVLE9BQU8sR0FBUCxtQkFBVTtNQUNUO01BQ0E7TUFDQTtNQUNBO0lB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
277
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFeHRlbnNpb25BUEkiLCJkZWZpbmVVSTVDbGFzcyIsInByb3BlcnR5IiwidHlwZSIsIm9Db250cm9sbGVyIiwic0lkIiwiX2NvbnRyb2xsZXIiLCJfdmlldyIsImdldFZpZXciLCJleHRlbnNpb24iLCJlZGl0RmxvdyIsInJvdXRpbmciLCJfcm91dGluZyIsImludGVudEJhc2VkTmF2aWdhdGlvbiIsIl9wcmVmaXgiLCJkZXN0cm95IiwiZ2V0RWRpdEZsb3ciLCJnZXRSb3V0aW5nIiwiZ2V0SW50ZW50QmFzZWROYXZpZ2F0aW9uIiwiYnlJZCIsIm9Db250cm9sIiwiZ2V0TW9kZWwiLCJzTW9kZWxOYW1lIiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0TWFuaWZlc3RFbnRyeSIsIm1vZGVscyIsInVuZGVmaW5lZCIsImFkZERlcGVuZGVudCIsInJlbW92ZURlcGVuZGVudCIsIm5hdmlnYXRlVG9UYXJnZXQiLCJzVGFyZ2V0Iiwib0NvbnRleHQiLCJsb2FkRnJhZ21lbnQiLCJtU2V0dGluZ3MiLCJvVGVtcGxhdGVDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9QYWdlTW9kZWwiLCJvTWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibVZpZXdEYXRhIiwiZ2V0Vmlld0RhdGEiLCJ0YXJnZXRDb250ZXh0UGF0aCIsImdldEVudGl0eVNldCIsImdldENvbnRleHRQYXRoIiwib1ZpZXdEYXRhTW9kZWwiLCJKU09OTW9kZWwiLCJvUHJlcHJvY2Vzc29yU2V0dGluZ3MiLCJiaW5kaW5nQ29udGV4dHMiLCJjb250ZXh0UGF0aCIsImNyZWF0ZUJpbmRpbmdDb250ZXh0IiwiY29udmVydGVyQ29udGV4dCIsIm5vUmVzb2x2ZSIsInZpZXdEYXRhIiwibWV0YU1vZGVsIiwiYXBwQ29tcG9uZW50Iiwib1RlbXBsYXRlUHJvbWlzZSIsInRlbXBsYXRlQ29udHJvbEZyYWdtZW50IiwibmFtZSIsImNvbnRyb2xsZXIiLCJpc1hNTCIsImlkIiwidGhlbiIsIm9GcmFnbWVudCIsImluaXRpYWxCaW5kaW5nQ29udGV4dCIsInNldEJpbmRpbmdDb250ZXh0IiwiY2F0Y2giLCJvRXJyb3IiLCJMb2ciLCJlcnJvciIsInVwZGF0ZUFwcFN0YXRlIiwiZ2V0QXBwU3RhdGVIYW5kbGVyIiwiY3JlYXRlQXBwU3RhdGUiLCJCYXNlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJFeHRlbnNpb25BUEkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBFZGl0RmxvdyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvRWRpdEZsb3dcIjtcbmltcG9ydCB0eXBlIEludGVudEJhc2VkTmF2aWdhdGlvbiBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZW50QmFzZWROYXZpZ2F0aW9uXCI7XG5pbXBvcnQgdHlwZSBJbnRlcm5hbFJvdXRpbmcgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVybmFsUm91dGluZ1wiO1xuaW1wb3J0IHR5cGUgUm91dGluZyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUm91dGluZ1wiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBUZW1wbGF0ZUNvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVDb21wb25lbnRcIjtcbmltcG9ydCBCYXNlT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9PYmplY3RcIjtcbmltcG9ydCBDb21wb25lbnQgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgVUk1RWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbGxlciBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9WaWV3XCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgdHlwZSBNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL01vZGVsXCI7XG5pbXBvcnQgdHlwZSB7IEVuaGFuY2VXaXRoVUk1IH0gZnJvbSBcIi4vaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCIuL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5cbi8qKlxuICogQ29tbW9uIEV4dGVuc2lvbiBBUEkgZm9yIGFsbCBwYWdlcyBvZiBTQVAgRmlvcmkgZWxlbWVudHMgZm9yIE9EYXRhIFY0LlxuICpcbiAqIFRvIGNvcnJlY3RseSBpbnRlZ3JhdGUgeW91ciBhcHAgZXh0ZW5zaW9uIGNvZGluZyB3aXRoIFNBUCBGaW9yaSBlbGVtZW50cywgdXNlIG9ubHkgdGhlIGV4dGVuc2lvbkFQSSBvZiBTQVAgRmlvcmkgZWxlbWVudHMuIERvbid0IGFjY2VzcyBvciBtYW5pcHVsYXRlIGNvbnRyb2xzLCBwcm9wZXJ0aWVzLCBtb2RlbHMsIG9yIG90aGVyIGludGVybmFsIG9iamVjdHMgY3JlYXRlZCBieSB0aGUgU0FQIEZpb3JpIGVsZW1lbnRzIGZyYW1ld29yay5cbiAqXG4gKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJXG4gKiBAcHVibGljXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAZXh0ZW5kcyBzYXAudWkuYmFzZS5PYmplY3RcbiAqIEBzaW5jZSAxLjc5LjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJXCIpXG5jbGFzcyBFeHRlbnNpb25BUEkgZXh0ZW5kcyBCYXNlT2JqZWN0IHtcblx0LyoqXG5cdCAqIEEgY29udHJvbGxlciBleHRlbnNpb24gb2ZmZXJpbmcgaG9va3MgaW50byB0aGUgZWRpdCBmbG93IG9mIHRoZSBhcHBsaWNhdGlvbi5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9FZGl0Rmxvd1wiIH0pXG5cdGVkaXRGbG93OiBFZGl0RmxvdztcblxuXHQvKipcblx0ICogQSBjb250cm9sbGVyIGV4dGVuc2lvbiBvZmZlcmluZyBob29rcyBpbnRvIHRoZSByb3V0aW5nIGZsb3cgb2YgdGhlIGFwcGxpY2F0aW9uLlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1JvdXRpbmdcIiB9KVxuXHRyb3V0aW5nOiBSb3V0aW5nO1xuXG5cdC8qKlxuXHQgKiBFeHRlbnNpb25BUEkgZm9yIGludGVudC1iYXNlZCBuYXZpZ2F0aW9uXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZW50QmFzZWROYXZpZ2F0aW9uXCIgfSlcblx0aW50ZW50QmFzZWROYXZpZ2F0aW9uOiBJbnRlbnRCYXNlZE5hdmlnYXRpb247XG5cblx0cHJvdGVjdGVkIF9jb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcjtcblxuXHRwcm90ZWN0ZWQgX3ZpZXc6IFZpZXc7XG5cblx0cHJpdmF0ZSBfcm91dGluZzogSW50ZXJuYWxSb3V0aW5nO1xuXG5cdHByaXZhdGUgX3ByZWZpeD86IHN0cmluZztcblxuXHRwcml2YXRlIGV4dGVuc2lvbjogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cblx0Y29uc3RydWN0b3Iob0NvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyLCBzSWQ/OiBzdHJpbmcpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMuX2NvbnRyb2xsZXIgPSBvQ29udHJvbGxlcjtcblx0XHR0aGlzLl92aWV3ID0gb0NvbnRyb2xsZXIuZ2V0VmlldygpO1xuXHRcdHRoaXMuZXh0ZW5zaW9uID0gdGhpcy5fY29udHJvbGxlci5leHRlbnNpb247XG5cdFx0dGhpcy5lZGl0RmxvdyA9IHRoaXMuX2NvbnRyb2xsZXIuZWRpdEZsb3c7XG5cdFx0dGhpcy5yb3V0aW5nID0gdGhpcy5fY29udHJvbGxlci5yb3V0aW5nO1xuXHRcdHRoaXMuX3JvdXRpbmcgPSB0aGlzLl9jb250cm9sbGVyLl9yb3V0aW5nO1xuXHRcdHRoaXMuaW50ZW50QmFzZWROYXZpZ2F0aW9uID0gdGhpcy5fY29udHJvbGxlci5pbnRlbnRCYXNlZE5hdmlnYXRpb247XG5cdFx0dGhpcy5fcHJlZml4ID0gc0lkO1xuXHR9XG5cblx0ZGVzdHJveSgpIHtcblx0XHQvLyBkZWxldGUgdGhpcy5fY29udHJvbGxlcjtcblx0XHQvLyBkZWxldGUgdGhpcy5fdmlldztcblx0XHQvLyBkZWxldGUgdGhpcy5lZGl0Rmxvdy5fY29udHJvbGxlcjtcblx0XHQvLyBkZWxldGUgdGhpcy5pbnRlbnRCYXNlZE5hdmlnYXRpb24uX2NvbnRyb2xsZXI7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBlZGl0RmxvdyBjb250cm9sbGVyIGV4dGVuc2lvbiBmb3IgdGhpcyBwYWdlLlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqIEByZXR1cm5zIFRoZSBlZGl0RmxvdyBjb250cm9sbGVyIGV4dGVuc2lvblxuXHQgKi9cblx0Z2V0RWRpdEZsb3coKSB7XG5cdFx0cmV0dXJuIHRoaXMuZWRpdEZsb3c7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSByb3V0aW5nIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIGZvciB0aGlzIHBhZ2UuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICogQHJldHVybnMgVGhlIHJvdXRpbmcgY29udHJvbGxlciBleHRlbnNpb25cblx0ICovXG5cdGdldFJvdXRpbmcoKSB7XG5cdFx0cmV0dXJuIHRoaXMucm91dGluZztcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGludGVudEJhc2VkTmF2aWdhdGlvbiBjb250cm9sbGVyIGV4dGVuc2lvbiBmb3IgdGhpcyBwYWdlLlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqIEByZXR1cm5zIFRoZSBpbnRlbnRCYXNlZE5hdmlnYXRpb24gY29udHJvbGxlciBleHRlbnNpb25cblx0ICovXG5cdGdldEludGVudEJhc2VkTmF2aWdhdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5pbnRlbnRCYXNlZE5hdmlnYXRpb247XG5cdH1cblxuXHQvKipcblx0ICogQWNjZXNzIGFueSBjb250cm9sIGJ5IElELlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI2J5SWRcblx0ICogQHBhcmFtIHNJZCBJRCBvZiB0aGUgY29udHJvbCB3aXRob3V0IHRoZSB2aWV3IHByZWZpeC4gRWl0aGVyIHRoZSBJRCBwcmVmaXhlZCBieSBTQVAgRmlvcmkgZWxlbWVudHNcblx0ICogKGZvciBleGFtcGxlIHdpdGggdGhlIHNlY3Rpb24pIG9yIHRoZSBjb250cm9sIElEIG9ubHkuIFRoZSBsYXR0ZXIgd29ya3Mgb25seSBmb3IgYW4gZXh0ZW5zaW9uIHJ1bm5pbmcgaW5cblx0ICogdGhlIHNhbWUgY29udGV4dCAobGlrZSBpbiB0aGUgc2FtZSBzZWN0aW9uKS4gWW91IGNhbiB1c2UgdGhlIHByZWZpeCBmb3IgU0FQIEZpb3JpIGVsZW1lbnRzIHRvIGFsc28gYWNjZXNzIG90aGVyIGNvbnRyb2xzIGxvY2F0ZWQgaW4gZGlmZmVyZW50IHNlY3Rpb25zLlxuXHQgKiBAcmV0dXJucyBUaGUgcmVxdWVzdGVkIGNvbnRyb2wsIGlmIGZvdW5kIGluIHRoZSB2aWV3LlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0YnlJZChzSWQ6IHN0cmluZykge1xuXHRcdGxldCBvQ29udHJvbCA9IHRoaXMuX3ZpZXcuYnlJZChzSWQpO1xuXG5cdFx0aWYgKCFvQ29udHJvbCAmJiB0aGlzLl9wcmVmaXgpIHtcblx0XHRcdC8vIGdpdmUgaXQgYSB0cnkgd2l0aCB0aGUgcHJlZml4XG5cdFx0XHRvQ29udHJvbCA9IHRoaXMuX3ZpZXcuYnlJZChgJHt0aGlzLl9wcmVmaXh9LS0ke3NJZH1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9Db250cm9sO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCBhY2Nlc3MgdG8gbW9kZWxzIG1hbmFnZWQgYnkgU0FQIEZpb3JpIGVsZW1lbnRzLjxicj5cblx0ICogVGhlIGZvbGxvd2luZyBtb2RlbHMgY2FuIGJlIGFjY2Vzc2VkOlxuXHQgKiA8dWw+XG5cdCAqIDxsaT51bmRlZmluZWQ6IHRoZSB1bmRlZmluZWQgbW9kZWwgcmV0dXJucyB0aGUgU0FQVUk1IE9EYXRhIFY0IG1vZGVsIGJvdW5kIHRvIHRoaXMgcGFnZTwvbGk+XG5cdCAqIDxsaT5pMThuIC8gZnVydGhlciBkYXRhIG1vZGVscyBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdDwvbGk+XG5cdCAqIDxsaT51aTogcmV0dXJucyBhIFNBUFVJNSBKU09OIG1vZGVsIGNvbnRhaW5pbmcgVUkgaW5mb3JtYXRpb24uXG5cdCAqIE9ubHkgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIGFyZSBwdWJsaWMgYW5kIHN1cHBvcnRlZDpcblx0ICogXHQ8dWw+XG5cdCAqICAgICA8bGk+aXNFZGl0YWJsZTogc2V0IHRvIHRydWUgaWYgdGhlIGFwcGxpY2F0aW9uIGlzIGluIGVkaXQgbW9kZTwvbGk+XG5cdCAqICA8L3VsPlxuXHQgKiA8L2xpPlxuXHQgKiA8L3VsPi5cblx0ICogZWRpdE1vZGUgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGFueW1vcmUuIFVzZSBpc0VkaXRhYmxlIGluc3RlYWQuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjZ2V0TW9kZWxcblx0ICogQHBhcmFtIHNNb2RlbE5hbWUgTmFtZSBvZiB0aGUgbW9kZWxcblx0ICogQHJldHVybnMgVGhlIHJlcXVpcmVkIG1vZGVsXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGdldE1vZGVsKHNNb2RlbE5hbWU/OiBzdHJpbmcpOiBNb2RlbCB8IHVuZGVmaW5lZCB7XG5cdFx0bGV0IG9BcHBDb21wb25lbnQ7XG5cblx0XHRpZiAoc01vZGVsTmFtZSAmJiBzTW9kZWxOYW1lICE9PSBcInVpXCIpIHtcblx0XHRcdG9BcHBDb21wb25lbnQgPSBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQodGhpcy5fdmlldyk7XG5cdFx0XHRpZiAoIW9BcHBDb21wb25lbnQuZ2V0TWFuaWZlc3RFbnRyeShcInNhcC51aTVcIikubW9kZWxzW3NNb2RlbE5hbWVdKSB7XG5cdFx0XHRcdC8vIGRvbid0IGFsbG93IGFjY2VzcyB0byBvdXIgaW50ZXJuYWwgbW9kZWxzXG5cdFx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMuX3ZpZXcuZ2V0TW9kZWwoc01vZGVsTmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogQWRkIGFueSBjb250cm9sIGFzIGEgZGVwZW5kZW50IGNvbnRyb2wgdG8gdGhpcyBTQVAgRmlvcmkgZWxlbWVudHMgcGFnZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNhZGREZXBlbmRlbnRcblx0ICogQHBhcmFtIG9Db250cm9sIENvbnRyb2wgdG8gYmUgYWRkZWQgYXMgYSBkZXBlbmRlbnQgY29udHJvbFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhZGREZXBlbmRlbnQob0NvbnRyb2w6IENvbnRyb2wpIHtcblx0XHR0aGlzLl92aWV3LmFkZERlcGVuZGVudChvQ29udHJvbCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVtb3ZlIGEgZGVwZW5kZW50IGNvbnRyb2wgZnJvbSB0aGlzIFNBUCBGaW9yaSBlbGVtZW50cyBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI3JlbW92ZURlcGVuZGVudFxuXHQgKiBAcGFyYW0gb0NvbnRyb2wgQ29udHJvbCB0byBiZSBhZGRlZCBhcyBhIGRlcGVuZGVudCBjb250cm9sXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHJlbW92ZURlcGVuZGVudChvQ29udHJvbDogQ29udHJvbCkge1xuXHRcdHRoaXMuX3ZpZXcucmVtb3ZlRGVwZW5kZW50KG9Db250cm9sKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBOYXZpZ2F0ZSB0byBhbm90aGVyIHRhcmdldC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLkV4dGVuc2lvbkFQSSNuYXZpZ2F0ZVRvVGFyZ2V0XG5cdCAqIEBwYXJhbSBzVGFyZ2V0IE5hbWUgb2YgdGhlIHRhcmdldCByb3V0ZVxuXHQgKiBAcGFyYW0gW29Db250ZXh0XSBDb250ZXh0IGluc3RhbmNlXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdG5hdmlnYXRlVG9UYXJnZXQoc1RhcmdldDogc3RyaW5nLCBvQ29udGV4dDogQ29udGV4dCk6IHZvaWQge1xuXHRcdHRoaXMuX2NvbnRyb2xsZXIuX3JvdXRpbmcubmF2aWdhdGVUb1RhcmdldChvQ29udGV4dCwgc1RhcmdldCk7XG5cdH1cblxuXHQvKipcblx0ICogTG9hZCBhIGZyYWdtZW50IGFuZCBnbyB0aHJvdWdoIHRoZSB0ZW1wbGF0ZSBwcmVwcm9jZXNzb3Igd2l0aCB0aGUgY3VycmVudCBwYWdlIGNvbnRleHQuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5FeHRlbnNpb25BUEkjbG9hZEZyYWdtZW50XG5cdCAqIEBwYXJhbSBtU2V0dGluZ3MgVGhlIHNldHRpbmdzIG9iamVjdFxuXHQgKiBAcGFyYW0gbVNldHRpbmdzLmlkIFRoZSBJRCBvZiB0aGUgZnJhZ21lbnQgaXRzZWxmXG5cdCAqIEBwYXJhbSBtU2V0dGluZ3MubmFtZSBUaGUgbmFtZSBvZiB0aGUgZnJhZ21lbnQgdG8gYmUgbG9hZGVkXG5cdCAqIEBwYXJhbSBtU2V0dGluZ3MuY29udHJvbGxlciBUaGUgY29udHJvbGxlciB0byBiZSBhdHRhY2hlZCB0byB0aGUgZnJhZ21lbnRcblx0ICogQHBhcmFtIG1TZXR0aW5ncy5jb250ZXh0UGF0aCBUaGUgY29udGV4dFBhdGggdG8gYmUgdXNlZCBmb3IgdGhlIHRlbXBsYXRpbmcgcHJvY2Vzc1xuXHQgKiBAcGFyYW0gbVNldHRpbmdzLmluaXRpYWxCaW5kaW5nQ29udGV4dCBUaGUgaW5pdGlhbCBiaW5kaW5nIGNvbnRleHRcblx0ICogQHJldHVybnMgVGhlIGZyYWdtZW50IGRlZmluaXRpb25cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YXN5bmMgbG9hZEZyYWdtZW50KG1TZXR0aW5nczoge1xuXHRcdGlkOiBzdHJpbmc7XG5cdFx0bmFtZTogc3RyaW5nO1xuXHRcdGNvbnRyb2xsZXI/OiBvYmplY3Q7XG5cdFx0Y29udGV4dFBhdGg/OiBzdHJpbmc7XG5cdFx0aW5pdGlhbEJpbmRpbmdDb250ZXh0PzogQ29udGV4dDtcblx0fSk6IFByb21pc2U8VUk1RWxlbWVudCB8IFVJNUVsZW1lbnRbXT4ge1xuXHRcdGNvbnN0IG9UZW1wbGF0ZUNvbXBvbmVudCA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcih0aGlzLl92aWV3KSBhcyBFbmhhbmNlV2l0aFVJNTxUZW1wbGF0ZUNvbXBvbmVudD47XG5cdFx0Y29uc3Qgb1BhZ2VNb2RlbCA9IHRoaXMuX3ZpZXcuZ2V0TW9kZWwoXCJfcGFnZU1vZGVsXCIpO1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSB0aGlzLmdldE1vZGVsKCk/LmdldE1ldGFNb2RlbCgpO1xuXHRcdGNvbnN0IG1WaWV3RGF0YSA9IG9UZW1wbGF0ZUNvbXBvbmVudC5nZXRWaWV3RGF0YSgpO1xuXHRcdGNvbnN0IHRhcmdldENvbnRleHRQYXRoID0gb1RlbXBsYXRlQ29tcG9uZW50LmdldEVudGl0eVNldCgpXG5cdFx0XHQ/IGAvJHtvVGVtcGxhdGVDb21wb25lbnQuZ2V0RW50aXR5U2V0KCkhfWBcblx0XHRcdDogb1RlbXBsYXRlQ29tcG9uZW50LmdldENvbnRleHRQYXRoKCkhO1xuXHRcdGNvbnN0IG9WaWV3RGF0YU1vZGVsID0gbmV3IEpTT05Nb2RlbChtVmlld0RhdGEpLFxuXHRcdFx0b1ByZXByb2Nlc3NvclNldHRpbmdzID0ge1xuXHRcdFx0XHRiaW5kaW5nQ29udGV4dHM6IHtcblx0XHRcdFx0XHRjb250ZXh0UGF0aDogb01ldGFNb2RlbD8uY3JlYXRlQmluZGluZ0NvbnRleHQobVNldHRpbmdzLmNvbnRleHRQYXRoIHx8IHRhcmdldENvbnRleHRQYXRoKSxcblx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBvUGFnZU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiLCB1bmRlZmluZWQsIHsgbm9SZXNvbHZlOiB0cnVlIH0pLFxuXHRcdFx0XHRcdHZpZXdEYXRhOiBtVmlld0RhdGEgPyBvVmlld0RhdGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIikgOiBudWxsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1vZGVsczoge1xuXHRcdFx0XHRcdGNvbnRleHRQYXRoOiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHQ6IG9QYWdlTW9kZWwsXG5cdFx0XHRcdFx0bWV0YU1vZGVsOiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdHZpZXdEYXRhOiBvVmlld0RhdGFNb2RlbFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRhcHBDb21wb25lbnQ6IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLl92aWV3KVxuXHRcdFx0fTtcblx0XHRjb25zdCBvVGVtcGxhdGVQcm9taXNlID0gQ29tbW9uVXRpbHMudGVtcGxhdGVDb250cm9sRnJhZ21lbnQobVNldHRpbmdzLm5hbWUsIG9QcmVwcm9jZXNzb3JTZXR0aW5ncywge1xuXHRcdFx0Y29udHJvbGxlcjogKG1TZXR0aW5ncy5jb250cm9sbGVyIGFzIENvbnRyb2xsZXIpIHx8IHRoaXMsXG5cdFx0XHRpc1hNTDogZmFsc2UsXG5cdFx0XHRpZDogbVNldHRpbmdzLmlkXG5cdFx0fSkgYXMgUHJvbWlzZTxDb250cm9sPjtcblx0XHRvVGVtcGxhdGVQcm9taXNlXG5cdFx0XHQudGhlbigob0ZyYWdtZW50OiBDb250cm9sKSA9PiB7XG5cdFx0XHRcdGlmIChtU2V0dGluZ3MuaW5pdGlhbEJpbmRpbmdDb250ZXh0ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRvRnJhZ21lbnQuc2V0QmluZGluZ0NvbnRleHQobVNldHRpbmdzLmluaXRpYWxCaW5kaW5nQ29udGV4dCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5hZGREZXBlbmRlbnQob0ZyYWdtZW50KTtcblx0XHRcdFx0cmV0dXJuIG9GcmFnbWVudDtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKG9FcnJvcjogdW5rbm93bikge1xuXHRcdFx0XHRMb2cuZXJyb3Iob0Vycm9yIGFzIHN0cmluZyk7XG5cdFx0XHR9KTtcblx0XHRyZXR1cm4gb1RlbXBsYXRlUHJvbWlzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUcmlnZ2VycyBhbiB1cGRhdGUgb2YgdGhlIGFwcCBzdGF0ZS5cblx0ICogU2hvdWxkIGJlIGNhbGxlZCBpZiB0aGUgc3RhdGUgb2YgYSBjb250cm9sLCBvciBhbnkgb3RoZXIgc3RhdGUtcmVsZXZhbnQgaW5mb3JtYXRpb24sIHdhcyBjaGFuZ2VkLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuRXh0ZW5zaW9uQVBJI3VwZGF0ZUFwcFN0YXRlXG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIG5ldyBhcHAgc3RhdGUgb2JqZWN0LlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhc3luYyB1cGRhdGVBcHBTdGF0ZSgpOiBQcm9taXNlPHZvaWQgfCB7IGFwcFN0YXRlOiBvYmplY3QgfT4ge1xuXHRcdHJldHVybiB0aGlzLl9jb250cm9sbGVyLmdldEFwcENvbXBvbmVudCgpLmdldEFwcFN0YXRlSGFuZGxlcigpLmNyZWF0ZUFwcFN0YXRlKCk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRXh0ZW5zaW9uQVBJO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7O0VBb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFWQSxJQVlNQSxZQUFZLFdBRGpCQyxjQUFjLENBQUMsMEJBQTBCLENBQUMsVUFPekNDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBNEMsQ0FBQyxDQUFDLFVBUS9ERCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQTJDLENBQUMsQ0FBQyxVQVE5REQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUF5RCxDQUFDLENBQUM7SUFBQTtJQXJCN0U7QUFDRDtBQUNBO0FBQ0E7QUFDQTs7SUFJQztBQUNEO0FBQ0E7QUFDQTtBQUNBOztJQUlDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0lBY0Msc0JBQVlDLFdBQTJCLEVBQUVDLEdBQVksRUFBRTtNQUFBO01BQ3RELDhCQUFPO01BQUM7TUFBQTtNQUFBO01BQ1IsTUFBS0MsV0FBVyxHQUFHRixXQUFXO01BQzlCLE1BQUtHLEtBQUssR0FBR0gsV0FBVyxDQUFDSSxPQUFPLEVBQUU7TUFDbEMsTUFBS0MsU0FBUyxHQUFHLE1BQUtILFdBQVcsQ0FBQ0csU0FBUztNQUMzQyxNQUFLQyxRQUFRLEdBQUcsTUFBS0osV0FBVyxDQUFDSSxRQUFRO01BQ3pDLE1BQUtDLE9BQU8sR0FBRyxNQUFLTCxXQUFXLENBQUNLLE9BQU87TUFDdkMs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
@@ -2,5 +2,5 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log","sap/fe/core/CommonUtils","sap/ui/base/Object","sap/ui/core/Component","sap/ui/model/json/JSONModel","./helpers/ClassSupport"],function(e,t,n,i,o,r){"use strict";var a,l,u,s,c,d,p,f,g;var v=r.property;var b=r.defineUI5Class;function h(e,t,n,i){if(!n)return;Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0})}function w(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function _(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;m(e,t)}function m(e,t){m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,n){t.__proto__=n;return t};return m(e,t)}function y(e,t,n,i,o){var r={};Object.keys(i).forEach(function(e){r[e]=i[e]});r.enumerable=!!r.enumerable;r.configurable=!!r.configurable;if("value"in r||r.initializer){r.writable=true}r=n.slice().reverse().reduce(function(n,i){return i(e,t,n)||n},r);if(o&&r.initializer!==void 0){r.value=r.initializer?r.initializer.call(o):void 0;r.initializer=undefined}if(r.initializer===void 0){Object.defineProperty(e,t,r);r=null}return r}function x(e,t){throw new Error("Decorating class property failed. Please ensure that "+"proposal-class-properties is enabled and runs after the decorators transform.")}let C=(a=b("sap.fe.core.ExtensionAPI"),l=v({type:"sap/fe/core/controllerextensions/EditFlow"}),u=v({type:"sap/fe/core/controllerextensions/Routing"}),s=v({type:"sap/fe/core/controllerextensions/IntentBasedNavigation"}),a(c=(d=function(n){_(r,n);function r(e,t){var i;i=n.call(this)||this;h(i,"editFlow",p,w(i));h(i,"routing",f,w(i));h(i,"intentBasedNavigation",g,w(i));i._controller=e;i._view=e.getView();i.extension=i._controller.extension;i.editFlow=i._controller.editFlow;i.routing=i._controller.routing;i._routing=i._controller._routing;i.intentBasedNavigation=i._controller.intentBasedNavigation;i._prefix=t;return i}var a=r.prototype;a.destroy=function e(){};a.getEditFlow=function e(){return this.editFlow};a.getRouting=function e(){return this.routing};a.getIntentBasedNavigation=function e(){return this.intentBasedNavigation};a.byId=function e(t){let n=this._view.byId(t);if(!n&&this._prefix){n=this._view.byId(`${this._prefix}--${t}`)}return n};a.getModel=function e(n){let i;if(n&&n!=="ui"){i=t.getAppComponent(this._view);if(!i.getManifestEntry("sap.ui5").models[n]){return undefined}}return this._view.getModel(n)};a.addDependent=function e(t){this._view.addDependent(t)};a.removeDependent=function e(t){this._view.removeDependent(t)};a.navigateToTarget=function e(t,n){this._controller._routing.navigateToTarget(n,t)};a.loadFragment=async function n(r){var a;const l=i.getOwnerComponentFor(this._view);const u=this._view.getModel("_pageModel");const s=(a=this.getModel())===null||a===void 0?void 0:a.getMetaModel();const c=l.getViewData();const d=new o(c),p={bindingContexts:{contextPath:s===null||s===void 0?void 0:s.createBindingContext(r.contextPath||`/${l.getEntitySet()}`),converterContext:u.createBindingContext("/",undefined,{noResolve:true}),viewData:c?d.createBindingContext("/"):null},models:{contextPath:s,converterContext:u,metaModel:s,viewData:d},appComponent:t.getAppComponent(this._view)};const f=t.templateControlFragment(r.name,p,{controller:r.controller||this,isXML:false,id:r.id});f.then(e=>{if(r.initialBindingContext!==undefined){e.setBindingContext(r.initialBindingContext)}this.addDependent(e);return e}).catch(function(t){e.error(t)});return f};a.updateAppState=async function e(){return this._controller.getAppComponent().getAppStateHandler().createAppState()};return r}(n),p=y(d.prototype,"editFlow",[l],{configurable:true,enumerable:true,writable:true,initializer:null}),f=y(d.prototype,"routing",[u],{configurable:true,enumerable:true,writable:true,initializer:null}),g=y(d.prototype,"intentBasedNavigation",[s],{configurable:true,enumerable:true,writable:true,initializer:null}),d))||c);return C},false);
5
+ sap.ui.define(["sap/base/Log","sap/fe/core/CommonUtils","sap/ui/base/Object","sap/ui/core/Component","sap/ui/model/json/JSONModel","./helpers/ClassSupport"],function(e,t,n,i,o,r){"use strict";var a,l,u,s,c,d,p,f,g;var v=r.property;var b=r.defineUI5Class;function h(e,t,n,i){if(!n)return;Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0})}function w(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function _(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;m(e,t)}function m(e,t){m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,n){t.__proto__=n;return t};return m(e,t)}function y(e,t,n,i,o){var r={};Object.keys(i).forEach(function(e){r[e]=i[e]});r.enumerable=!!r.enumerable;r.configurable=!!r.configurable;if("value"in r||r.initializer){r.writable=true}r=n.slice().reverse().reduce(function(n,i){return i(e,t,n)||n},r);if(o&&r.initializer!==void 0){r.value=r.initializer?r.initializer.call(o):void 0;r.initializer=undefined}if(r.initializer===void 0){Object.defineProperty(e,t,r);r=null}return r}function x(e,t){throw new Error("Decorating class property failed. Please ensure that "+"proposal-class-properties is enabled and runs after the decorators transform.")}let C=(a=b("sap.fe.core.ExtensionAPI"),l=v({type:"sap/fe/core/controllerextensions/EditFlow"}),u=v({type:"sap/fe/core/controllerextensions/Routing"}),s=v({type:"sap/fe/core/controllerextensions/IntentBasedNavigation"}),a(c=(d=function(n){_(r,n);function r(e,t){var i;i=n.call(this)||this;h(i,"editFlow",p,w(i));h(i,"routing",f,w(i));h(i,"intentBasedNavigation",g,w(i));i._controller=e;i._view=e.getView();i.extension=i._controller.extension;i.editFlow=i._controller.editFlow;i.routing=i._controller.routing;i._routing=i._controller._routing;i.intentBasedNavigation=i._controller.intentBasedNavigation;i._prefix=t;return i}var a=r.prototype;a.destroy=function e(){};a.getEditFlow=function e(){return this.editFlow};a.getRouting=function e(){return this.routing};a.getIntentBasedNavigation=function e(){return this.intentBasedNavigation};a.byId=function e(t){let n=this._view.byId(t);if(!n&&this._prefix){n=this._view.byId(`${this._prefix}--${t}`)}return n};a.getModel=function e(n){let i;if(n&&n!=="ui"){i=t.getAppComponent(this._view);if(!i.getManifestEntry("sap.ui5").models[n]){return undefined}}return this._view.getModel(n)};a.addDependent=function e(t){this._view.addDependent(t)};a.removeDependent=function e(t){this._view.removeDependent(t)};a.navigateToTarget=function e(t,n){this._controller._routing.navigateToTarget(n,t)};a.loadFragment=async function n(r){var a;const l=i.getOwnerComponentFor(this._view);const u=this._view.getModel("_pageModel");const s=(a=this.getModel())===null||a===void 0?void 0:a.getMetaModel();const c=l.getViewData();const d=l.getEntitySet()?`/${l.getEntitySet()}`:l.getContextPath();const p=new o(c),f={bindingContexts:{contextPath:s===null||s===void 0?void 0:s.createBindingContext(r.contextPath||d),converterContext:u.createBindingContext("/",undefined,{noResolve:true}),viewData:c?p.createBindingContext("/"):null},models:{contextPath:s,converterContext:u,metaModel:s,viewData:p},appComponent:t.getAppComponent(this._view)};const g=t.templateControlFragment(r.name,f,{controller:r.controller||this,isXML:false,id:r.id});g.then(e=>{if(r.initialBindingContext!==undefined){e.setBindingContext(r.initialBindingContext)}this.addDependent(e);return e}).catch(function(t){e.error(t)});return g};a.updateAppState=async function e(){return this._controller.getAppComponent().getAppStateHandler().createAppState()};return r}(n),p=y(d.prototype,"editFlow",[l],{configurable:true,enumerable:true,writable:true,initializer:null}),f=y(d.prototype,"routing",[u],{configurable:true,enumerable:true,writable:true,initializer:null}),g=y(d.prototype,"intentBasedNavigation",[s],{configurable:true,enumerable:true,writable:true,initializer:null}),d))||c);return C},false);
6
6
  //# sourceMappingURL=ExtensionAPI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionAPI.js","names":["sap","ui","define","Log","CommonUtils","BaseObject","Component","JSONModel","ClassSupport","_dec","_dec2","_dec3","_dec4","_class","_class2","_descriptor","_descriptor2","_descriptor3","property","defineUI5Class","_initializerDefineProperty","target","descriptor","context","Object","defineProperty","enumerable","configurable","writable","value","initializer","call","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_applyDecoratedDescriptor","decorators","desc","keys","forEach","key","slice","reverse","reduce","decorator","undefined","_initializerWarningHelper","Error","ExtensionAPI","type","_BaseObject","oController","sId","_this","this","_controller","_view","getView","extension","editFlow","routing","_routing","intentBasedNavigation","_prefix","_proto","destroy","getEditFlow","getRouting","getIntentBasedNavigation","byId","oControl","getModel","sModelName","oAppComponent","getAppComponent","getManifestEntry","models","addDependent","removeDependent","navigateToTarget","sTarget","oContext","loadFragment","async","mSettings","_this$getModel","oTemplateComponent","getOwnerComponentFor","oPageModel","oMetaModel","getMetaModel","mViewData","getViewData","oViewDataModel","oPreprocessorSettings","bindingContexts","contextPath","createBindingContext","getEntitySet","converterContext","noResolve","viewData","metaModel","appComponent","oTemplatePromise","templateControlFragment","name","controller","isXML","id","then","oFragment","initialBindingContext","setBindingContext","catch","oError","error","updateAppState","getAppStateHandler","createAppState"],"sources":["ExtensionAPI-dbg.js"],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionAPI.js","names":["sap","ui","define","Log","CommonUtils","BaseObject","Component","JSONModel","ClassSupport","_dec","_dec2","_dec3","_dec4","_class","_class2","_descriptor","_descriptor2","_descriptor3","property","defineUI5Class","_initializerDefineProperty","target","descriptor","context","Object","defineProperty","enumerable","configurable","writable","value","initializer","call","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_applyDecoratedDescriptor","decorators","desc","keys","forEach","key","slice","reverse","reduce","decorator","undefined","_initializerWarningHelper","Error","ExtensionAPI","type","_BaseObject","oController","sId","_this","this","_controller","_view","getView","extension","editFlow","routing","_routing","intentBasedNavigation","_prefix","_proto","destroy","getEditFlow","getRouting","getIntentBasedNavigation","byId","oControl","getModel","sModelName","oAppComponent","getAppComponent","getManifestEntry","models","addDependent","removeDependent","navigateToTarget","sTarget","oContext","loadFragment","async","mSettings","_this$getModel","oTemplateComponent","getOwnerComponentFor","oPageModel","oMetaModel","getMetaModel","mViewData","getViewData","targetContextPath","getEntitySet","getContextPath","oViewDataModel","oPreprocessorSettings","bindingContexts","contextPath","createBindingContext","converterContext","noResolve","viewData","metaModel","appComponent","oTemplatePromise","templateControlFragment","name","controller","isXML","id","then","oFragment","initialBindingContext","setBindingContext","catch","oError","error","updateAppState","getAppStateHandler","createAppState"],"sources":["ExtensionAPI-dbg.js"],"mappings":"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"}
@@ -218,18 +218,21 @@ class ExtensionAPI extends BaseObject {
218
218
  async loadFragment(mSettings: {
219
219
  id: string;
220
220
  name: string;
221
- controller: object;
222
- contextPath: string;
223
- initialBindingContext: Context;
221
+ controller?: object;
222
+ contextPath?: string;
223
+ initialBindingContext?: Context;
224
224
  }): Promise<UI5Element | UI5Element[]> {
225
225
  const oTemplateComponent = Component.getOwnerComponentFor(this._view) as EnhanceWithUI5<TemplateComponent>;
226
226
  const oPageModel = this._view.getModel("_pageModel");
227
227
  const oMetaModel = this.getModel()?.getMetaModel();
228
228
  const mViewData = oTemplateComponent.getViewData();
229
+ const targetContextPath = oTemplateComponent.getEntitySet()
230
+ ? `/${oTemplateComponent.getEntitySet()!}`
231
+ : oTemplateComponent.getContextPath()!;
229
232
  const oViewDataModel = new JSONModel(mViewData),
230
233
  oPreprocessorSettings = {
231
234
  bindingContexts: {
232
- contextPath: oMetaModel?.createBindingContext(mSettings.contextPath || `/${oTemplateComponent.getEntitySet()!}`),
235
+ contextPath: oMetaModel?.createBindingContext(mSettings.contextPath || targetContextPath),
233
236
  converterContext: oPageModel.createBindingContext("/", undefined, { noResolve: true }),
234
237
  viewData: mViewData ? oViewDataModel.createBindingContext("/") : null
235
238
  },
@@ -2,10 +2,11 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/util/deepClone", "sap/base/util/merge", "sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor", "sap/fe/core/converters/ConverterContext", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/helpers/StableIdHelper"], function (deepClone, merge, BuildingBlockTemplateProcessor, ConverterContext, BindingToolkit, StableIdHelper) {
5
+ sap.ui.define(["sap/base/util/deepClone", "sap/base/util/merge", "sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor", "sap/fe/core/converters/ConverterContext", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/helpers/StableIdHelper", "sap/fe/core/templating/DataModelPathHelper"], function (deepClone, merge, BuildingBlockTemplateProcessor, ConverterContext, BindingToolkit, StableIdHelper, DataModelPathHelper) {
6
6
  "use strict";
7
7
 
8
8
  var _exports = {};
9
+ var getTargetObjectPath = DataModelPathHelper.getTargetObjectPath;
9
10
  var generate = StableIdHelper.generate;
10
11
  var isUndefinedExpression = BindingToolkit.isUndefinedExpression;
11
12
  var xml = BuildingBlockTemplateProcessor.xml;
@@ -30,7 +31,13 @@ sap.ui.define(["sap/base/util/deepClone", "sap/base/util/merge", "sap/fe/core/bu
30
31
  delete viewData.resourceModel;
31
32
  delete viewData.appComponent;
32
33
  viewData = deepClone(viewData);
33
- viewData.controlConfiguration = merge(viewData.controlConfiguration, extraParams || {});
34
+ let controlConfiguration = {};
35
+ // Only merge in page control configuration if the building block is on the same context
36
+ const relativePath = getTargetObjectPath(dataModelObjectPath.contextLocation ?? dataModelObjectPath);
37
+ if (relativePath === (originalViewData === null || originalViewData === void 0 ? void 0 : originalViewData.contextPath) || relativePath === `/${originalViewData === null || originalViewData === void 0 ? void 0 : originalViewData.entitySet}`) {
38
+ controlConfiguration = viewData.controlConfiguration;
39
+ }
40
+ viewData.controlConfiguration = merge(controlConfiguration, extraParams || {});
34
41
  return ConverterContext.createConverterContextForMacro(dataModelObjectPath.startingEntitySet.name, settings.models.metaModel, appComponent === null || appComponent === void 0 ? void 0 : appComponent.getDiagnostics(), merge, dataModelObjectPath.contextLocation, viewData);
35
42
  };
36
43
  Object.keys(props).forEach(propName => {
@@ -161,4 +168,4 @@ sap.ui.define(["sap/base/util/deepClone", "sap/base/util/merge", "sap/fe/core/bu
161
168
  _exports = BuildingBlockBase;
162
169
  return _exports;
163
170
  }, false);
164
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrQmFzZSIsInByb3BzIiwiX2NvbnRyb2xDb25maWd1cmF0aW9uIiwiX3Zpc2l0b3JTZXR0aW5ncyIsImlzUHVibGljIiwiZ2V0Q29udmVydGVyQ29udGV4dCIsImRhdGFNb2RlbE9iamVjdFBhdGgiLCJjb250ZXh0UGF0aCIsInNldHRpbmdzIiwiZXh0cmFQYXJhbXMiLCJhcHBDb21wb25lbnQiLCJvcmlnaW5hbFZpZXdEYXRhIiwibW9kZWxzIiwidmlld0RhdGEiLCJnZXREYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwicmVzb3VyY2VNb2RlbCIsImRlZXBDbG9uZSIsImNvbnRyb2xDb25maWd1cmF0aW9uIiwibWVyZ2UiLCJDb252ZXJ0ZXJDb250ZXh0IiwiY3JlYXRlQ29udmVydGVyQ29udGV4dEZvck1hY3JvIiwic3RhcnRpbmdFbnRpdHlTZXQiLCJuYW1lIiwibWV0YU1vZGVsIiwiZ2V0RGlhZ25vc3RpY3MiLCJjb250ZXh0TG9jYXRpb24iLCJrZXlzIiwiZm9yRWFjaCIsInByb3BOYW1lIiwiY3JlYXRlSWQiLCJpZCIsInN0cmluZ1BhcnRzIiwiZ2VuZXJhdGUiLCJ1bmRlZmluZWQiLCJnZXRDb250ZW50SWQiLCJidWlsZGluZ0Jsb2NrSWQiLCJnZXRUcmFuc2xhdGVkVGV4dCIsInRleHRJRCIsInBhcmFtZXRlcnMiLCJtZXRhUGF0aCIsImdldFRleHQiLCJnZXRQcm9wZXJ0aWVzIiwiYWxsUHJvcGVydGllcyIsIm9JbnN0YW5jZUtleSIsImhhc093blByb3BlcnR5IiwicmVnaXN0ZXIiLCJyZWdpc3RlckJ1aWxkaW5nQmxvY2siLCJ1bnJlZ2lzdGVyIiwidW5yZWdpc3RlckJ1aWxkaW5nQmxvY2siLCJhZGRDb25kaXRpb25hbGx5IiwiY29uZGl0aW9uIiwicGFydFRvQWRkIiwiYXR0ciIsImF0dHJpYnV0ZU5hbWUiLCJ2YWx1ZSIsImlzVW5kZWZpbmVkRXhwcmVzc2lvbiIsInhtbCIsImludGVybmFsTWV0YWRhdGEiLCJuYW1lc3BhY2UiLCJwcm9wZXJ0aWVzIiwiYWdncmVnYXRpb25zIiwic3RlcmVvdHlwZSIsImlzUnVudGltZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQnVpbGRpbmdCbG9ja0Jhc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlZXBDbG9uZSBmcm9tIFwic2FwL2Jhc2UvdXRpbC9kZWVwQ2xvbmVcIjtcbmltcG9ydCBtZXJnZSBmcm9tIFwic2FwL2Jhc2UvdXRpbC9tZXJnZVwiO1xuaW1wb3J0IHR5cGUgeyBCdWlsZGluZ0Jsb2NrTWV0YWRhdGEsIE9iamVjdFZhbHVlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MsIFhNTFByb2Nlc3NvclR5cGVWYWx1ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCB7IHJlZ2lzdGVyQnVpbGRpbmdCbG9jaywgdW5yZWdpc3RlckJ1aWxkaW5nQmxvY2ssIHhtbCB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB7IGlzVW5kZWZpbmVkRXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1N0YWJsZUlkSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvZmUvY29yZS9SZXNvdXJjZU1vZGVsXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFNb2RlbE9iamVjdFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYnVpbGRpbmcgYmxvY2tzXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJ1aWxkaW5nQmxvY2tCYXNlIHtcblx0cHJpdmF0ZSBzdGF0aWMgaW50ZXJuYWxNZXRhZGF0YTogQnVpbGRpbmdCbG9ja01ldGFkYXRhO1xuXG5cdHB1YmxpYyBzdGF0aWMgZ2V0IG1ldGFkYXRhKCk6IEJ1aWxkaW5nQmxvY2tNZXRhZGF0YSB7XG5cdFx0Ly8gV2UgbmVlZCB0byBzdG9yZSB0aGUgbWV0YWRhdGEgb24gdGhlIGFjdHVhbCBzdWJjbGFzcywgbm90IG9uIEJ1aWxkaW5nQmxvY2tCYXNlXG5cdFx0dGhpcy5pbnRlcm5hbE1ldGFkYXRhID8/PSB7XG5cdFx0XHRuYW1lc3BhY2U6IFwiXCIsXG5cdFx0XHRuYW1lOiBcIlwiLFxuXHRcdFx0cHJvcGVydGllczoge30sXG5cdFx0XHRhZ2dyZWdhdGlvbnM6IHt9LFxuXHRcdFx0c3RlcmVvdHlwZTogXCJ4bWxtYWNyb1wiXG5cdFx0fTtcblx0XHRyZXR1cm4gdGhpcy5pbnRlcm5hbE1ldGFkYXRhO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBpc1J1bnRpbWU6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRwcm90ZWN0ZWQgaXNQdWJsaWMgPSBmYWxzZTtcblxuXHRwcml2YXRlIHJlc291cmNlTW9kZWw/OiBSZXNvdXJjZU1vZGVsO1xuXG5cdHByb3RlY3RlZCBpZD86IHN0cmluZztcblxuXHRjb25zdHJ1Y3Rvcihwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIF9jb250cm9sQ29uZmlndXJhdGlvbj86IHVua25vd24sIF92aXNpdG9yU2V0dGluZ3M/OiBUZW1wbGF0ZVByb2Nlc3NvclNldHRpbmdzKSB7XG5cdFx0T2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2goKHByb3BOYW1lKSA9PiB7XG5cdFx0XHR0aGlzW3Byb3BOYW1lIGFzIGtleW9mIHRoaXNdID0gcHJvcHNbcHJvcE5hbWVdIGFzIG5ldmVyO1xuXHRcdH0pO1xuXG5cdFx0dGhpcy5yZXNvdXJjZU1vZGVsID0gX3Zpc2l0b3JTZXR0aW5ncz8ubW9kZWxzPy5bXCJzYXAuZmUuaTE4blwiXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBPbmx5IHVzZWQgaW50ZXJuYWxseVxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHVibGljIGdldFRlbXBsYXRlPyhvTm9kZT86IEVsZW1lbnQpOiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIENvbnZlcnQgdGhlIGdpdmVuIGxvY2FsIGVsZW1lbnQgSUQgdG8gYSBnbG9iYWxseSB1bmlxdWUgSUQgYnkgcHJlZml4aW5nIHdpdGggdGhlIEJ1aWxkaW5nIEJsb2NrIElELlxuXHQgKlxuXHQgKiBAcGFyYW0gc3RyaW5nUGFydHNcblx0ICogQHJldHVybnMgRWl0aGVyIHRoZSBnbG9iYWwgSUQgb3IgdW5kZWZpbmVkIGlmIHRoZSBCdWlsZGluZyBCbG9jayBkb2Vzbid0IGhhdmUgYW4gSURcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHByb3RlY3RlZCBjcmVhdGVJZCguLi5zdHJpbmdQYXJ0czogc3RyaW5nW10pIHtcblx0XHQvLyBJZiB0aGUgY2hpbGQgaW5zdGFuY2UgaGFzIGFuIElEIHByb3BlcnR5IHVzZSBpdCBvdGhlcndpc2UgcmV0dXJuIHVuZGVmaW5lZFxuXHRcdGlmICh0aGlzLmlkKSB7XG5cdFx0XHRyZXR1cm4gZ2VuZXJhdGUoW3RoaXMuaWQsIC4uLnN0cmluZ1BhcnRzXSk7XG5cdFx0fVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBJRCBvZiB0aGUgY29udGVudCBjb250cm9sLlxuXHQgKlxuXHQgKiBAcGFyYW0gYnVpbGRpbmdCbG9ja0lkXG5cdCAqIEByZXR1cm5zIFJldHVybiB0aGUgSURcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHByb3RlY3RlZCBnZXRDb250ZW50SWQoYnVpbGRpbmdCbG9ja0lkOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gYCR7YnVpbGRpbmdCbG9ja0lkfS1jb250ZW50YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRyYW5zbGF0ZWQgdGV4dCBmb3IgYSBnaXZlbiByZXNvdXJjZSBrZXkuXG5cdCAqXG5cdCAqIEBwYXJhbSB0ZXh0SUQgSUQgb2YgdGhlIFRleHRcblx0ICogQHBhcmFtIHBhcmFtZXRlcnMgQXJyYXkgb2YgcGFyYW1ldGVycyB0aGF0IGFyZSB1c2VkIHRvIGNyZWF0ZSB0aGUgdGV4dFxuXHQgKiBAcGFyYW0gbWV0YVBhdGggRW50aXR5IHNldCBuYW1lIG9yIGFjdGlvbiBuYW1lIHRvIG92ZXJsb2FkIGEgdGV4dFxuXHQgKiBAcmV0dXJucyBEZXRlcm1pbmVkIHRleHRcblx0ICovXG5cdGdldFRyYW5zbGF0ZWRUZXh0KHRleHRJRDogc3RyaW5nLCBwYXJhbWV0ZXJzPzogdW5rbm93bltdLCBtZXRhUGF0aD86IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMucmVzb3VyY2VNb2RlbD8uZ2V0VGV4dCh0ZXh0SUQsIHBhcmFtZXRlcnMsIG1ldGFQYXRoKSB8fCB0ZXh0SUQ7XG5cdH1cblxuXHRwcm90ZWN0ZWQgZ2V0Q29udmVydGVyQ29udGV4dCA9IGZ1bmN0aW9uIChcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdFx0c2V0dGluZ3M6IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MsXG5cdFx0ZXh0cmFQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXHQpIHtcblx0XHRjb25zdCBhcHBDb21wb25lbnQgPSBzZXR0aW5ncy5hcHBDb21wb25lbnQ7XG5cdFx0Y29uc3Qgb3JpZ2luYWxWaWV3RGF0YSA9IHNldHRpbmdzLm1vZGVscy52aWV3RGF0YT8uZ2V0RGF0YSgpO1xuXHRcdGxldCB2aWV3RGF0YSA9IE9iamVjdC5hc3NpZ24oe30sIG9yaWdpbmFsVmlld0RhdGEpO1xuXHRcdGRlbGV0ZSB2aWV3RGF0YS5yZXNvdXJjZU1vZGVsO1xuXHRcdGRlbGV0ZSB2aWV3RGF0YS5hcHBDb21wb25lbnQ7XG5cdFx0dmlld0RhdGEgPSBkZWVwQ2xvbmUodmlld0RhdGEpO1xuXHRcdHZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uID0gbWVyZ2Uodmlld0RhdGEuY29udHJvbENvbmZpZ3VyYXRpb24sIGV4dHJhUGFyYW1zIHx8IHt9KTtcblx0XHRyZXR1cm4gQ29udmVydGVyQ29udGV4dC5jcmVhdGVDb252ZXJ0ZXJDb250ZXh0Rm9yTWFjcm8oXG5cdFx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0Lm5hbWUsXG5cdFx0XHRzZXR0aW5ncy5tb2RlbHMubWV0YU1vZGVsLFxuXHRcdFx0YXBwQ29tcG9uZW50Py5nZXREaWFnbm9zdGljcygpLFxuXHRcdFx0bWVyZ2UsXG5cdFx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLmNvbnRleHRMb2NhdGlvbixcblx0XHRcdHZpZXdEYXRhXG5cdFx0KTtcblx0fTtcblxuXHQvKipcblx0ICogT25seSB1c2VkIGludGVybmFsbHkuXG5cdCAqXG5cdCAqIEByZXR1cm5zIEFsbCB0aGUgcHJvcGVydGllcyBkZWZpbmVkIG9uIHRoZSBvYmplY3Qgd2l0aCB0aGVpciB2YWx1ZXNcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHB1YmxpYyBnZXRQcm9wZXJ0aWVzKCkge1xuXHRcdGNvbnN0IGFsbFByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIE9iamVjdFZhbHVlPiA9IHt9O1xuXHRcdGZvciAoY29uc3Qgb0luc3RhbmNlS2V5IGluIHRoaXMpIHtcblx0XHRcdGlmICh0aGlzLmhhc093blByb3BlcnR5KG9JbnN0YW5jZUtleSkpIHtcblx0XHRcdFx0YWxsUHJvcGVydGllc1tvSW5zdGFuY2VLZXldID0gdGhpc1tvSW5zdGFuY2VLZXldIGFzIHVua25vd24gYXMgT2JqZWN0VmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBhbGxQcm9wZXJ0aWVzO1xuXHR9XG5cblx0c3RhdGljIHJlZ2lzdGVyKCkge1xuXHRcdHJlZ2lzdGVyQnVpbGRpbmdCbG9jayh0aGlzKTtcblx0fVxuXG5cdHN0YXRpYyB1bnJlZ2lzdGVyKCkge1xuXHRcdHVucmVnaXN0ZXJCdWlsZGluZ0Jsb2NrKHRoaXMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhIHBhcnQgb2Ygc3RyaW5nIGJhc2VkIG9uIHRoZSBjb25kaXRpb24uXG5cdCAqXG5cdCAqIEBwYXJhbSBjb25kaXRpb25cblx0ICogQHBhcmFtIHBhcnRUb0FkZFxuXHQgKiBAcmV0dXJucyBUaGUgcGFydCB0byBhZGQgaWYgdGhlIGNvbmRpdGlvbiBpcyB0cnVlLCBvdGhlcndpc2UgYW4gZW1wdHkgc3RyaW5nXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYWRkQ29uZGl0aW9uYWxseShjb25kaXRpb246IGJvb2xlYW4sIHBhcnRUb0FkZDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRpZiAoY29uZGl0aW9uKSB7XG5cdFx0XHRyZXR1cm4gcGFydFRvQWRkO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gXCJcIjtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQWRkIGFuIGF0dHJpYnV0ZSBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHByb3BlcnR5LlxuXHQgKiBJZiBpdCdzIHVuZGVmaW5lZCB0aGUgYXR0cmlidXRlIGlzIG5vdCBhZGRlZC5cblx0ICpcblx0ICogQHBhcmFtIGF0dHJpYnV0ZU5hbWVcblx0ICogQHBhcmFtIHZhbHVlXG5cdCAqIEByZXR1cm5zIFRoZSBhdHRyaWJ1dGUgdG8gYWRkIGlmIHRoZSB2YWx1ZSBpcyBub3QgdW5kZWZpbmVkLCBvdGhlcndpc2UgYW4gZW1wdHkgc3RyaW5nXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYXR0cihhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsIHZhbHVlPzogWE1MUHJvY2Vzc29yVHlwZVZhbHVlKTogKCkgPT4gc3RyaW5nIHtcblx0XHRpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhaXNVbmRlZmluZWRFeHByZXNzaW9uKHZhbHVlKSkge1xuXHRcdFx0cmV0dXJuICgpID0+IHhtbGAke2F0dHJpYnV0ZU5hbWV9PVwiJHt2YWx1ZX1cImA7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiAoKSA9PiBcIlwiO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7OztFQVdBO0FBQ0E7QUFDQTtFQUZBLElBR3FCQSxpQkFBaUI7SUF1QnJDLDJCQUFZQyxLQUE4QixFQUFFQyxxQkFBK0IsRUFBRUMsZ0JBQTRDLEVBQUU7TUFBQTtNQUFBLEtBTmpIQyxRQUFRLEdBQUcsS0FBSztNQUFBLEtBMkRoQkMsbUJBQW1CLEdBQUcsVUFDL0JDLG1CQUF3QyxFQUN4Q0MsV0FBK0IsRUFDL0JDLFFBQW1DLEVBQ25DQyxXQUFxQyxFQUNwQztRQUFBO1FBQ0QsTUFBTUMsWUFBWSxHQUFHRixRQUFRLENBQUNFLFlBQVk7UUFDMUMsTUFBTUMsZ0JBQWdCLDRCQUFHSCxRQUFRLENBQUNJLE1BQU0sQ0FBQ0MsUUFBUSwwREFBeEIsc0JBQTBCQyxPQUFPLEVBQUU7UUFDNUQsSUFBSUQsUUFBUSxHQUFHRSxNQUFNLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRUwsZ0JBQWdCLENBQUM7UUFDbEQsT0FBT0UsUUFBUSxDQUFDSSxhQUFhO1FBQzdCLE9BQU9KLFFBQVEsQ0FBQ0gsWUFBWTtRQUM1QkcsUUFBUSxHQUFHSyxTQUFTLENBQUNMLFFBQVEsQ0FBQztRQUM5QkEsUUFBUSxDQUFDTSxvQkFBb0IsR0FBR0MsS0FBSyxDQUFDUCxR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
171
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrQmFzZSIsInByb3BzIiwiX2NvbnRyb2xDb25maWd1cmF0aW9uIiwiX3Zpc2l0b3JTZXR0aW5ncyIsImlzUHVibGljIiwiZ2V0Q29udmVydGVyQ29udGV4dCIsImRhdGFNb2RlbE9iamVjdFBhdGgiLCJjb250ZXh0UGF0aCIsInNldHRpbmdzIiwiZXh0cmFQYXJhbXMiLCJhcHBDb21wb25lbnQiLCJvcmlnaW5hbFZpZXdEYXRhIiwibW9kZWxzIiwidmlld0RhdGEiLCJnZXREYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwicmVzb3VyY2VNb2RlbCIsImRlZXBDbG9uZSIsImNvbnRyb2xDb25maWd1cmF0aW9uIiwicmVsYXRpdmVQYXRoIiwiZ2V0VGFyZ2V0T2JqZWN0UGF0aCIsImNvbnRleHRMb2NhdGlvbiIsImVudGl0eVNldCIsIm1lcmdlIiwiQ29udmVydGVyQ29udGV4dCIsImNyZWF0ZUNvbnZlcnRlckNvbnRleHRGb3JNYWNybyIsInN0YXJ0aW5nRW50aXR5U2V0IiwibmFtZSIsIm1ldGFNb2RlbCIsImdldERpYWdub3N0aWNzIiwia2V5cyIsImZvckVhY2giLCJwcm9wTmFtZSIsImNyZWF0ZUlkIiwiaWQiLCJzdHJpbmdQYXJ0cyIsImdlbmVyYXRlIiwidW5kZWZpbmVkIiwiZ2V0Q29udGVudElkIiwiYnVpbGRpbmdCbG9ja0lkIiwiZ2V0VHJhbnNsYXRlZFRleHQiLCJ0ZXh0SUQiLCJwYXJhbWV0ZXJzIiwibWV0YVBhdGgiLCJnZXRUZXh0IiwiZ2V0UHJvcGVydGllcyIsImFsbFByb3BlcnRpZXMiLCJvSW5zdGFuY2VLZXkiLCJoYXNPd25Qcm9wZXJ0eSIsInJlZ2lzdGVyIiwicmVnaXN0ZXJCdWlsZGluZ0Jsb2NrIiwidW5yZWdpc3RlciIsInVucmVnaXN0ZXJCdWlsZGluZ0Jsb2NrIiwiYWRkQ29uZGl0aW9uYWxseSIsImNvbmRpdGlvbiIsInBhcnRUb0FkZCIsImF0dHIiLCJhdHRyaWJ1dGVOYW1lIiwidmFsdWUiLCJpc1VuZGVmaW5lZEV4cHJlc3Npb24iLCJ4bWwiLCJpbnRlcm5hbE1ldGFkYXRhIiwibmFtZXNwYWNlIiwicHJvcGVydGllcyIsImFnZ3JlZ2F0aW9ucyIsInN0ZXJlb3R5cGUiLCJpc1J1bnRpbWUiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkJ1aWxkaW5nQmxvY2tCYXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWVwQ2xvbmUgZnJvbSBcInNhcC9iYXNlL3V0aWwvZGVlcENsb25lXCI7XG5pbXBvcnQgbWVyZ2UgZnJvbSBcInNhcC9iYXNlL3V0aWwvbWVyZ2VcIjtcbmltcG9ydCB0eXBlIHsgQnVpbGRpbmdCbG9ja01ldGFkYXRhLCBPYmplY3RWYWx1ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVByb2Nlc3NvclNldHRpbmdzLCBYTUxQcm9jZXNzb3JUeXBlVmFsdWUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1RlbXBsYXRlUHJvY2Vzc29yXCI7XG5pbXBvcnQgeyByZWdpc3RlckJ1aWxkaW5nQmxvY2ssIHVucmVnaXN0ZXJCdWlsZGluZ0Jsb2NrLCB4bWwgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1RlbXBsYXRlUHJvY2Vzc29yXCI7XG5pbXBvcnQgQ29udmVydGVyQ29udGV4dCBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9Db252ZXJ0ZXJDb250ZXh0XCI7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZ2V0VGFyZ2V0T2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBidWlsZGluZyBibG9ja3NcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnVpbGRpbmdCbG9ja0Jhc2Uge1xuXHRwcml2YXRlIHN0YXRpYyBpbnRlcm5hbE1ldGFkYXRhOiBCdWlsZGluZ0Jsb2NrTWV0YWRhdGE7XG5cblx0cHVibGljIHN0YXRpYyBnZXQgbWV0YWRhdGEoKTogQnVpbGRpbmdCbG9ja01ldGFkYXRhIHtcblx0XHQvLyBXZSBuZWVkIHRvIHN0b3JlIHRoZSBtZXRhZGF0YSBvbiB0aGUgYWN0dWFsIHN1YmNsYXNzLCBub3Qgb24gQnVpbGRpbmdCbG9ja0Jhc2Vcblx0XHR0aGlzLmludGVybmFsTWV0YWRhdGEgPz89IHtcblx0XHRcdG5hbWVzcGFjZTogXCJcIixcblx0XHRcdG5hbWU6IFwiXCIsXG5cdFx0XHRwcm9wZXJ0aWVzOiB7fSxcblx0XHRcdGFnZ3JlZ2F0aW9uczoge30sXG5cdFx0XHRzdGVyZW90eXBlOiBcInhtbG1hY3JvXCJcblx0XHR9O1xuXHRcdHJldHVybiB0aGlzLmludGVybmFsTWV0YWRhdGE7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGlzUnVudGltZTogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdHByb3RlY3RlZCBpc1B1YmxpYyA9IGZhbHNlO1xuXG5cdHByaXZhdGUgcmVzb3VyY2VNb2RlbD86IFJlc291cmNlTW9kZWw7XG5cblx0cHJvdGVjdGVkIGlkPzogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgX2NvbnRyb2xDb25maWd1cmF0aW9uPzogdW5rbm93biwgX3Zpc2l0b3JTZXR0aW5ncz86IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MpIHtcblx0XHRPYmplY3Qua2V5cyhwcm9wcykuZm9yRWFjaCgocHJvcE5hbWUpID0+IHtcblx0XHRcdHRoaXNbcHJvcE5hbWUgYXMga2V5b2YgdGhpc10gPSBwcm9wc1twcm9wTmFtZV0gYXMgbmV2ZXI7XG5cdFx0fSk7XG5cblx0XHR0aGlzLnJlc291cmNlTW9kZWwgPSBfdmlzaXRvclNldHRpbmdzPy5tb2RlbHM/LltcInNhcC5mZS5pMThuXCJdO1xuXHR9XG5cblx0LyoqXG5cdCAqIE9ubHkgdXNlZCBpbnRlcm5hbGx5XG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRwdWJsaWMgZ2V0VGVtcGxhdGU/KG9Ob2RlPzogRWxlbWVudCk6IHN0cmluZyB8IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogQ29udmVydCB0aGUgZ2l2ZW4gbG9jYWwgZWxlbWVudCBJRCB0byBhIGdsb2JhbGx5IHVuaXF1ZSBJRCBieSBwcmVmaXhpbmcgd2l0aCB0aGUgQnVpbGRpbmcgQmxvY2sgSUQuXG5cdCAqXG5cdCAqIEBwYXJhbSBzdHJpbmdQYXJ0c1xuXHQgKiBAcmV0dXJucyBFaXRoZXIgdGhlIGdsb2JhbCBJRCBvciB1bmRlZmluZWQgaWYgdGhlIEJ1aWxkaW5nIEJsb2NrIGRvZXNuJ3QgaGF2ZSBhbiBJRFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHJvdGVjdGVkIGNyZWF0ZUlkKC4uLnN0cmluZ1BhcnRzOiBzdHJpbmdbXSkge1xuXHRcdC8vIElmIHRoZSBjaGlsZCBpbnN0YW5jZSBoYXMgYW4gSUQgcHJvcGVydHkgdXNlIGl0IG90aGVyd2lzZSByZXR1cm4gdW5kZWZpbmVkXG5cdFx0aWYgKHRoaXMuaWQpIHtcblx0XHRcdHJldHVybiBnZW5lcmF0ZShbdGhpcy5pZCwgLi4uc3RyaW5nUGFydHNdKTtcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIElEIG9mIHRoZSBjb250ZW50IGNvbnRyb2wuXG5cdCAqXG5cdCAqIEBwYXJhbSBidWlsZGluZ0Jsb2NrSWRcblx0ICogQHJldHVybnMgUmV0dXJuIHRoZSBJRFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHJvdGVjdGVkIGdldENvbnRlbnRJZChidWlsZGluZ0Jsb2NrSWQ6IHN0cmluZykge1xuXHRcdHJldHVybiBgJHtidWlsZGluZ0Jsb2NrSWR9LWNvbnRlbnRgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdHJhbnNsYXRlZCB0ZXh0IGZvciBhIGdpdmVuIHJlc291cmNlIGtleS5cblx0ICpcblx0ICogQHBhcmFtIHRleHRJRCBJRCBvZiB0aGUgVGV4dFxuXHQgKiBAcGFyYW0gcGFyYW1ldGVycyBBcnJheSBvZiBwYXJhbWV0ZXJzIHRoYXQgYXJlIHVzZWQgdG8gY3JlYXRlIHRoZSB0ZXh0XG5cdCAqIEBwYXJhbSBtZXRhUGF0aCBFbnRpdHkgc2V0IG5hbWUgb3IgYWN0aW9uIG5hbWUgdG8gb3ZlcmxvYWQgYSB0ZXh0XG5cdCAqIEByZXR1cm5zIERldGVybWluZWQgdGV4dFxuXHQgKi9cblx0Z2V0VHJhbnNsYXRlZFRleHQodGV4dElEOiBzdHJpbmcsIHBhcmFtZXRlcnM/OiB1bmtub3duW10sIG1ldGFQYXRoPzogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5yZXNvdXJjZU1vZGVsPy5nZXRUZXh0KHRleHRJRCwgcGFyYW1ldGVycywgbWV0YVBhdGgpIHx8IHRleHRJRDtcblx0fVxuXG5cdHByb3RlY3RlZCBnZXRDb252ZXJ0ZXJDb250ZXh0ID0gZnVuY3Rpb24gKFxuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdFx0Y29udGV4dFBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCxcblx0XHRzZXR0aW5nczogVGVtcGxhdGVQcm9jZXNzb3JTZXR0aW5ncyxcblx0XHRleHRyYVBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG5cdCkge1xuXHRcdGNvbnN0IGFwcENvbXBvbmVudCA9IHNldHRpbmdzLmFwcENvbXBvbmVudDtcblx0XHRjb25zdCBvcmlnaW5hbFZpZXdEYXRhID0gc2V0dGluZ3MubW9kZWxzLnZpZXdEYXRhPy5nZXREYXRhKCk7XG5cdFx0bGV0IHZpZXdEYXRhID0gT2JqZWN0LmFzc2lnbih7fSwgb3JpZ2luYWxWaWV3RGF0YSk7XG5cdFx0ZGVsZXRlIHZpZXdEYXRhLnJlc291cmNlTW9kZWw7XG5cdFx0ZGVsZXRlIHZpZXdEYXRhLmFwcENvbXBvbmVudDtcblx0XHR2aWV3RGF0YSA9IGRlZXBDbG9uZSh2aWV3RGF0YSk7XG5cdFx0bGV0IGNvbnRyb2xDb25maWd1cmF0aW9uID0ge307XG5cdFx0Ly8gT25seSBtZXJnZSBpbiBwYWdlIGNvbnRyb2wgY29uZmlndXJhdGlvbiBpZiB0aGUgYnVpbGRpbmcgYmxvY2sgaXMgb24gdGhlIHNhbWUgY29udGV4dFxuXHRcdGNvbnN0IHJlbGF0aXZlUGF0aCA9IGdldFRhcmdldE9iamVjdFBhdGgoZGF0YU1vZGVsT2JqZWN0UGF0aC5jb250ZXh0TG9jYXRpb24gPz8gZGF0YU1vZGVsT2JqZWN0UGF0aCk7XG5cdFx0aWYgKHJlbGF0aXZlUGF0aCA9PT0gb3JpZ2luYWxWaWV3RGF0YT8uY29udGV4dFBhdGggfHwgcmVsYXRpdmVQYXRoID09PSBgLyR7b3JpZ2luYWxWaWV3RGF0YT8uZW50aXR5U2V0fWApIHtcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uID0gdmlld0RhdGEuY29udHJvbENvbmZpZ3VyYXRpb247XG5cdFx0fVxuXHRcdHZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uID0gbWVyZ2UoY29udHJvbENvbmZpZ3VyYXRpb24sIGV4dHJhUGFyYW1zIHx8IHt9KTtcblx0XHRyZXR1cm4gQ29udmVydGVyQ29udGV4dC5jcmVhdGVDb252ZXJ0ZXJDb250ZXh0Rm9yTWFjcm8oXG5cdFx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0Lm5hbWUsXG5cdFx0XHRzZXR0aW5ncy5tb2RlbHMubWV0YU1vZGVsLFxuXHRcdFx0YXBwQ29tcG9uZW50Py5nZXREaWFnbm9zdGljcygpLFxuXHRcdFx0bWVyZ2UsXG5cdFx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLmNvbnRleHRMb2NhdGlvbixcblx0XHRcdHZpZXdEYXRhXG5cdFx0KTtcblx0fTtcblxuXHQvKipcblx0ICogT25seSB1c2VkIGludGVybmFsbHkuXG5cdCAqXG5cdCAqIEByZXR1cm5zIEFsbCB0aGUgcHJvcGVydGllcyBkZWZpbmVkIG9uIHRoZSBvYmplY3Qgd2l0aCB0aGVpciB2YWx1ZXNcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHB1YmxpYyBnZXRQcm9wZXJ0aWVzKCkge1xuXHRcdGNvbnN0IGFsbFByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIE9iamVjdFZhbHVlPiA9IHt9O1xuXHRcdGZvciAoY29uc3Qgb0luc3RhbmNlS2V5IGluIHRoaXMpIHtcblx0XHRcdGlmICh0aGlzLmhhc093blByb3BlcnR5KG9JbnN0YW5jZUtleSkpIHtcblx0XHRcdFx0YWxsUHJvcGVydGllc1tvSW5zdGFuY2VLZXldID0gdGhpc1tvSW5zdGFuY2VLZXldIGFzIHVua25vd24gYXMgT2JqZWN0VmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBhbGxQcm9wZXJ0aWVzO1xuXHR9XG5cblx0c3RhdGljIHJlZ2lzdGVyKCkge1xuXHRcdHJlZ2lzdGVyQnVpbGRpbmdCbG9jayh0aGlzKTtcblx0fVxuXG5cdHN0YXRpYyB1bnJlZ2lzdGVyKCkge1xuXHRcdHVucmVnaXN0ZXJCdWlsZGluZ0Jsb2NrKHRoaXMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhIHBhcnQgb2Ygc3RyaW5nIGJhc2VkIG9uIHRoZSBjb25kaXRpb24uXG5cdCAqXG5cdCAqIEBwYXJhbSBjb25kaXRpb25cblx0ICogQHBhcmFtIHBhcnRUb0FkZFxuXHQgKiBAcmV0dXJucyBUaGUgcGFydCB0byBhZGQgaWYgdGhlIGNvbmRpdGlvbiBpcyB0cnVlLCBvdGhlcndpc2UgYW4gZW1wdHkgc3RyaW5nXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYWRkQ29uZGl0aW9uYWxseShjb25kaXRpb246IGJvb2xlYW4sIHBhcnRUb0FkZDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRpZiAoY29uZGl0aW9uKSB7XG5cdFx0XHRyZXR1cm4gcGFydFRvQWRkO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gXCJcIjtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQWRkIGFuIGF0dHJpYnV0ZSBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHByb3BlcnR5LlxuXHQgKiBJZiBpdCdzIHVuZGVmaW5lZCB0aGUgYXR0cmlidXRlIGlzIG5vdCBhZGRlZC5cblx0ICpcblx0ICogQHBhcmFtIGF0dHJpYnV0ZU5hbWVcblx0ICogQHBhcmFtIHZhbHVlXG5cdCAqIEByZXR1cm5zIFRoZSBhdHRyaWJ1dGUgdG8gYWRkIGlmIHRoZSB2YWx1ZSBpcyBub3QgdW5kZWZpbmVkLCBvdGhlcndpc2UgYW4gZW1wdHkgc3RyaW5nXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYXR0cihhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsIHZhbHVlPzogWE1MUHJvY2Vzc29yVHlwZVZhbHVlKTogKCkgPT4gc3RyaW5nIHtcblx0XHRpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhaXNVbmRlZmluZWRFeHByZXNzaW9uKHZhbHVlKSkge1xuXHRcdFx0cmV0dXJuICgpID0+IHhtbGAke2F0dHJpYnV0ZU5hbWV9PVwiJHt2YWx1ZX1cImA7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiAoKSA9PiBcIlwiO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7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
@@ -2,5 +2,5 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/util/deepClone","sap/base/util/merge","sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor","sap/fe/core/converters/ConverterContext","sap/fe/core/helpers/BindingToolkit","sap/fe/core/helpers/StableIdHelper"],function(e,t,r,n,i,o){"use strict";var a={};var s=o.generate;var l=i.isUndefinedExpression;var u=r.xml;var c=r.unregisterBuildingBlock;var f=r.registerBuildingBlock;function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,v(n.key),n)}}function p(e,t,r){if(t)d(e.prototype,t);if(r)d(e,r);Object.defineProperty(e,"prototype",{writable:false});return e}function v(e){var t=g(e,"string");return typeof t==="symbol"?t:String(t)}function g(e,t){if(typeof e!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==undefined){var n=r.call(e,t||"default");if(typeof n!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}let m=function(){function r(r,i,o){var a;this.isPublic=false;this.getConverterContext=function(r,i,o,a){var s;const l=o.appComponent;const u=(s=o.models.viewData)===null||s===void 0?void 0:s.getData();let c=Object.assign({},u);delete c.resourceModel;delete c.appComponent;c=e(c);c.controlConfiguration=t(c.controlConfiguration,a||{});return n.createConverterContextForMacro(r.startingEntitySet.name,o.models.metaModel,l===null||l===void 0?void 0:l.getDiagnostics(),t,r.contextLocation,c)};Object.keys(r).forEach(e=>{this[e]=r[e]});this.resourceModel=o===null||o===void 0?void 0:(a=o.models)===null||a===void 0?void 0:a["sap.fe.i18n"]}a=r;var i=r.prototype;i.createId=function e(){if(this.id){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++){r[n]=arguments[n]}return s([this.id,...r])}return undefined};i.getContentId=function e(t){return`${t}-content`};i.getTranslatedText=function e(t,r,n){var i;return((i=this.resourceModel)===null||i===void 0?void 0:i.getText(t,r,n))||t};i.getProperties=function e(){const t={};for(const e in this){if(this.hasOwnProperty(e)){t[e]=this[e]}}return t};r.register=function e(){f(this)};r.unregister=function e(){c(this)};i.addConditionally=function e(t,r){if(t){return r}else{return""}};i.attr=function e(t,r){if(r!==undefined&&!l(r)){return()=>u`${t}="${r}"`}else{return()=>""}};p(r,null,[{key:"metadata",get:function(){this.internalMetadata??={namespace:"",name:"",properties:{},aggregations:{},stereotype:"xmlmacro"};return this.internalMetadata}}]);return r}();m.isRuntime=false;a=m;return a},false);
5
+ sap.ui.define(["sap/base/util/deepClone","sap/base/util/merge","sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor","sap/fe/core/converters/ConverterContext","sap/fe/core/helpers/BindingToolkit","sap/fe/core/helpers/StableIdHelper","sap/fe/core/templating/DataModelPathHelper"],function(e,t,n,r,i,o,a){"use strict";var l={};var s=a.getTargetObjectPath;var u=o.generate;var c=i.isUndefinedExpression;var f=n.xml;var d=n.unregisterBuildingBlock;var p=n.registerBuildingBlock;function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,m(r.key),r)}}function g(e,t,n){if(t)v(e.prototype,t);if(n)v(e,n);Object.defineProperty(e,"prototype",{writable:false});return e}function m(e){var t=h(e,"string");return typeof t==="symbol"?t:String(t)}function h(e,t){if(typeof e!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==undefined){var r=n.call(e,t||"default");if(typeof r!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}let b=function(){function n(n,i,o){var a;this.isPublic=false;this.getConverterContext=function(n,i,o,a){var l;const u=o.appComponent;const c=(l=o.models.viewData)===null||l===void 0?void 0:l.getData();let f=Object.assign({},c);delete f.resourceModel;delete f.appComponent;f=e(f);let d={};const p=s(n.contextLocation??n);if(p===(c===null||c===void 0?void 0:c.contextPath)||p===`/${c===null||c===void 0?void 0:c.entitySet}`){d=f.controlConfiguration}f.controlConfiguration=t(d,a||{});return r.createConverterContextForMacro(n.startingEntitySet.name,o.models.metaModel,u===null||u===void 0?void 0:u.getDiagnostics(),t,n.contextLocation,f)};Object.keys(n).forEach(e=>{this[e]=n[e]});this.resourceModel=o===null||o===void 0?void 0:(a=o.models)===null||a===void 0?void 0:a["sap.fe.i18n"]}l=n;var i=n.prototype;i.createId=function e(){if(this.id){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}return u([this.id,...n])}return undefined};i.getContentId=function e(t){return`${t}-content`};i.getTranslatedText=function e(t,n,r){var i;return((i=this.resourceModel)===null||i===void 0?void 0:i.getText(t,n,r))||t};i.getProperties=function e(){const t={};for(const e in this){if(this.hasOwnProperty(e)){t[e]=this[e]}}return t};n.register=function e(){p(this)};n.unregister=function e(){d(this)};i.addConditionally=function e(t,n){if(t){return n}else{return""}};i.attr=function e(t,n){if(n!==undefined&&!c(n)){return()=>f`${t}="${n}"`}else{return()=>""}};g(n,null,[{key:"metadata",get:function(){this.internalMetadata??={namespace:"",name:"",properties:{},aggregations:{},stereotype:"xmlmacro"};return this.internalMetadata}}]);return n}();b.isRuntime=false;l=b;return l},false);
6
6
  //# sourceMappingURL=BuildingBlockBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuildingBlockBase.js","names":["sap","ui","define","deepClone","merge","BuildingBlockTemplateProcessor","ConverterContext","BindingToolkit","StableIdHelper","_exports","generate","isUndefinedExpression","xml","unregisterBuildingBlock","registerBuildingBlock","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","Constructor","protoProps","staticProps","prototype","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","BuildingBlockBase","_controlConfiguration","_visitorSettings","_visitorSettings$mode","this","isPublic","getConverterContext","dataModelObjectPath","contextPath","settings","extraParams","_settings$models$view","appComponent","originalViewData","models","viewData","getData","assign","resourceModel","controlConfiguration","createConverterContextForMacro","startingEntitySet","name","metaModel","getDiagnostics","contextLocation","keys","forEach","propName","_proto","createId","id","_len","arguments","stringParts","Array","_key","getContentId","buildingBlockId","getTranslatedText","textID","parameters","metaPath","_this$resourceModel","getText","getProperties","allProperties","oInstanceKey","hasOwnProperty","register","unregister","addConditionally","condition","partToAdd","attr","attributeName","value","get","internalMetadata","namespace","properties","aggregations","stereotype","isRuntime"],"sources":["BuildingBlockBase-dbg.js"],"mappings":"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"}
1
+ {"version":3,"file":"BuildingBlockBase.js","names":["sap","ui","define","deepClone","merge","BuildingBlockTemplateProcessor","ConverterContext","BindingToolkit","StableIdHelper","DataModelPathHelper","_exports","getTargetObjectPath","generate","isUndefinedExpression","xml","unregisterBuildingBlock","registerBuildingBlock","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","Constructor","protoProps","staticProps","prototype","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","BuildingBlockBase","_controlConfiguration","_visitorSettings","_visitorSettings$mode","this","isPublic","getConverterContext","dataModelObjectPath","contextPath","settings","extraParams","_settings$models$view","appComponent","originalViewData","models","viewData","getData","assign","resourceModel","controlConfiguration","relativePath","contextLocation","entitySet","createConverterContextForMacro","startingEntitySet","name","metaModel","getDiagnostics","keys","forEach","propName","_proto","createId","id","_len","arguments","stringParts","Array","_key","getContentId","buildingBlockId","getTranslatedText","textID","parameters","metaPath","_this$resourceModel","getText","getProperties","allProperties","oInstanceKey","hasOwnProperty","register","unregister","addConditionally","condition","partToAdd","attr","attributeName","value","get","internalMetadata","namespace","properties","aggregations","stereotype","isRuntime"],"sources":["BuildingBlockBase-dbg.js"],"mappings":"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"}