@sabstravtech/obtservices 0.0.22051001 → 0.0.26051001

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 (142) hide show
  1. package/angular/components/basket-panel.d.ts +1 -0
  2. package/angular/fetchers.d.ts +3 -0
  3. package/angular/lib/vendor/fetchers/get-companies.fetcher.d.ts +7 -0
  4. package/angular/lib/vendor/fetchers/get-company.fetcher.d.ts +7 -0
  5. package/angular/lib/vendor/fetchers/get-user-guests.fetcher.d.ts +7 -0
  6. package/angular/lib/vendor/services/enterprise-basket.service.d.ts +2 -1
  7. package/angular/lib/vendor/services/logon.service.d.ts +2 -1
  8. package/angular/lib/vendor/services/user.service.d.ts +7 -3
  9. package/angular/lib/vendor/types/graphql.angular.types.d.ts +268 -85
  10. package/angular/lib/vendor/updaters/create-guest-updater.d.ts +6 -0
  11. package/angular/sabstravtech-obtservices-angular.metadata.json +1 -1
  12. package/angular/updaters.d.ts +1 -0
  13. package/base/fetchers.d.ts +3 -0
  14. package/base/lib/vendor/classes/base-enterprise.d.ts +5 -1
  15. package/base/lib/vendor/classes/basket-info-mi-details.impl.d.ts +2 -0
  16. package/base/lib/vendor/classes/bookable-basket.d.ts +2 -0
  17. package/base/lib/vendor/classes/cabhire-enterprise-search.d.ts +4 -3
  18. package/base/lib/vendor/classes/carhire-enterprise-search.d.ts +4 -3
  19. package/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +4 -4
  20. package/base/lib/vendor/classes/fast-track-enterprise-search.d.ts +3 -3
  21. package/base/lib/vendor/classes/flight-enterprise-search.d.ts +5 -5
  22. package/base/lib/vendor/classes/helpers.d.ts +6 -1
  23. package/base/lib/vendor/classes/hotel-enterprise-search.d.ts +6 -3
  24. package/base/lib/vendor/classes/irl-enterprise-search.d.ts +4 -4
  25. package/base/lib/vendor/classes/lounges-enterprise-search.d.ts +3 -3
  26. package/base/lib/vendor/classes/management-info-and-valid.d.ts +1 -1
  27. package/base/lib/vendor/classes/modal-types.enum.d.ts +1 -0
  28. package/base/lib/vendor/classes/parking-enterprise-search.d.ts +3 -3
  29. package/base/lib/vendor/classes/rail-enterprise-search.d.ts +9 -7
  30. package/base/lib/vendor/classes/supplementary-booking-info-impl.d.ts +5 -3
  31. package/base/lib/vendor/fetchers/get-companies.fetcher.d.ts +21 -0
  32. package/base/lib/vendor/fetchers/get-company.fetcher.d.ts +20 -0
  33. package/base/lib/vendor/fetchers/get-user-guests.fetcher.d.ts +20 -0
  34. package/base/lib/vendor/interfaces/Icabhire-enterprise-search.d.ts +1 -0
  35. package/base/lib/vendor/interfaces/Icarhire-enterprise-search.d.ts +3 -2
  36. package/base/lib/vendor/interfaces/Ienterprise-basket.service.d.ts +6 -5
  37. package/base/lib/vendor/interfaces/Ieurostar-enterprise-search.d.ts +1 -0
  38. package/base/lib/vendor/interfaces/Ifast-track-enterprise-search.d.ts +7 -5
  39. package/base/lib/vendor/interfaces/Iflight-enterprise-search.d.ts +2 -1
  40. package/base/lib/vendor/interfaces/Ihotel-enterprise-search.d.ts +5 -2
  41. package/base/lib/vendor/interfaces/Iirl-enterprise-search.d.ts +4 -3
  42. package/base/lib/vendor/interfaces/Ilounges-enterprise-search.d.ts +1 -0
  43. package/base/lib/vendor/interfaces/Iparking-enterprise-search.d.ts +1 -0
  44. package/base/lib/vendor/interfaces/Irail-enterprise-search.d.ts +5 -2
  45. package/base/lib/vendor/interfaces/Isearch.service.d.ts +4 -2
  46. package/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.d.ts +3 -2
  47. package/base/lib/vendor/interfaces/Iuser.service.d.ts +1 -0
  48. package/base/lib/vendor/interfaces/car-hire-search-arg.interface.d.ts +2 -3
  49. package/base/lib/vendor/interfaces/summary-interface.d.ts +2 -0
  50. package/base/lib/vendor/interfaces/user.data.d.ts +1 -0
  51. package/base/lib/vendor/models/traveller.object.d.ts +1 -1
  52. package/base/lib/vendor/services/enterprise-basket.service.d.ts +18 -7
  53. package/base/lib/vendor/services/logon.service.d.ts +5 -1
  54. package/base/lib/vendor/services/search.service.d.ts +25 -22
  55. package/base/lib/vendor/services/url.service.d.ts +2 -0
  56. package/base/lib/vendor/services/user.service.d.ts +21 -5
  57. package/base/lib/vendor/services/webtoken.service.d.ts +4 -0
  58. package/base/lib/vendor/types/graphql.types.d.ts +245 -84
  59. package/base/lib/vendor/types/types.d.ts +16 -2
  60. package/base/lib/vendor/updaters/create-guest-updater.d.ts +19 -0
  61. package/base/sabstravtech-obtservices-base.d.ts +1 -1
  62. package/base/sabstravtech-obtservices-base.metadata.json +1 -1
  63. package/base/updaters.d.ts +1 -0
  64. package/bundles/sabstravtech-obtservices-angular.umd.js +366 -176
  65. package/bundles/sabstravtech-obtservices-angular.umd.js.map +1 -1
  66. package/bundles/sabstravtech-obtservices-angular.umd.min.js +1 -1
  67. package/bundles/sabstravtech-obtservices-angular.umd.min.js.map +1 -1
  68. package/bundles/sabstravtech-obtservices-base.umd.js +2019 -956
  69. package/bundles/sabstravtech-obtservices-base.umd.js.map +1 -1
  70. package/bundles/sabstravtech-obtservices-base.umd.min.js +2 -2
  71. package/bundles/sabstravtech-obtservices-base.umd.min.js.map +1 -1
  72. package/esm2015/angular/components/basket-panel.js +16 -7
  73. package/esm2015/angular/fetchers.js +4 -1
  74. package/esm2015/angular/lib/vendor/fetchers/get-companies.fetcher.js +25 -0
  75. package/esm2015/angular/lib/vendor/fetchers/get-company.fetcher.js +25 -0
  76. package/esm2015/angular/lib/vendor/fetchers/get-user-guests.fetcher.js +25 -0
  77. package/esm2015/angular/lib/vendor/services/enterprise-basket.service.js +8 -5
  78. package/esm2015/angular/lib/vendor/services/http-call.service.js +1 -1
  79. package/esm2015/angular/lib/vendor/services/logon.service.js +8 -5
  80. package/esm2015/angular/lib/vendor/services/search.service.js +1 -1
  81. package/esm2015/angular/lib/vendor/services/user.service.js +21 -9
  82. package/esm2015/angular/lib/vendor/services/webtoken.service.js +6 -2
  83. package/esm2015/angular/lib/vendor/types/graphql.angular.types.js +296 -70
  84. package/esm2015/angular/lib/vendor/updaters/create-guest-updater.js +22 -0
  85. package/esm2015/angular/updaters.js +2 -1
  86. package/esm2015/base/fetchers.js +4 -1
  87. package/esm2015/base/lib/vendor/classes/base-enterprise.js +8 -2
  88. package/esm2015/base/lib/vendor/classes/basket-info-mi-details.impl.js +14 -1
  89. package/esm2015/base/lib/vendor/classes/bookable-basket.js +27 -6
  90. package/esm2015/base/lib/vendor/classes/cabhire-enterprise-search.js +66 -11
  91. package/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +108 -61
  92. package/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +115 -33
  93. package/esm2015/base/lib/vendor/classes/fast-track-enterprise-search.js +31 -10
  94. package/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +196 -57
  95. package/esm2015/base/lib/vendor/classes/helpers.js +19 -3
  96. package/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +145 -36
  97. package/esm2015/base/lib/vendor/classes/irl-enterprise-search.js +100 -30
  98. package/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +40 -8
  99. package/esm2015/base/lib/vendor/classes/management-info-and-valid.js +13 -9
  100. package/esm2015/base/lib/vendor/classes/modal-types.enum.js +2 -1
  101. package/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +39 -7
  102. package/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +131 -20
  103. package/esm2015/base/lib/vendor/classes/supplementary-booking-info-impl.js +42 -4
  104. package/esm2015/base/lib/vendor/fetchers/get-companies.fetcher.js +11 -0
  105. package/esm2015/base/lib/vendor/fetchers/get-company.fetcher.js +11 -0
  106. package/esm2015/base/lib/vendor/fetchers/get-user-guests.fetcher.js +11 -0
  107. package/esm2015/base/lib/vendor/interfaces/Icabhire-enterprise-search.js +1 -1
  108. package/esm2015/base/lib/vendor/interfaces/Icarhire-enterprise-search.js +1 -1
  109. package/esm2015/base/lib/vendor/interfaces/Ienterprise-basket.service.js +1 -1
  110. package/esm2015/base/lib/vendor/interfaces/Ieurostar-enterprise-search.js +1 -1
  111. package/esm2015/base/lib/vendor/interfaces/Ifast-track-enterprise-search.js +1 -1
  112. package/esm2015/base/lib/vendor/interfaces/Iflight-enterprise-search.js +1 -1
  113. package/esm2015/base/lib/vendor/interfaces/Ihotel-enterprise-search.js +2 -1
  114. package/esm2015/base/lib/vendor/interfaces/Iirl-enterprise-search.js +1 -1
  115. package/esm2015/base/lib/vendor/interfaces/Ilounges-enterprise-search.js +1 -1
  116. package/esm2015/base/lib/vendor/interfaces/Iparking-enterprise-search.js +1 -1
  117. package/esm2015/base/lib/vendor/interfaces/Irail-enterprise-search.js +1 -1
  118. package/esm2015/base/lib/vendor/interfaces/Isearch.service.js +1 -1
  119. package/esm2015/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.js +1 -1
  120. package/esm2015/base/lib/vendor/interfaces/Iuser.service.js +1 -1
  121. package/esm2015/base/lib/vendor/interfaces/car-hire-search-arg.interface.js +1 -1
  122. package/esm2015/base/lib/vendor/interfaces/summary-interface.js +1 -1
  123. package/esm2015/base/lib/vendor/interfaces/user.data.js +1 -1
  124. package/esm2015/base/lib/vendor/models/traveller.object.js +1 -1
  125. package/esm2015/base/lib/vendor/services/enterprise-basket.service.js +93 -30
  126. package/esm2015/base/lib/vendor/services/http-call.service.js +1 -1
  127. package/esm2015/base/lib/vendor/services/logon.service.js +37 -3
  128. package/esm2015/base/lib/vendor/services/requires-reason.service.js +14 -10
  129. package/esm2015/base/lib/vendor/services/search.service.js +77 -102
  130. package/esm2015/base/lib/vendor/services/url.service.js +3 -1
  131. package/esm2015/base/lib/vendor/services/user.service.js +45 -11
  132. package/esm2015/base/lib/vendor/services/webtoken.service.js +8 -1
  133. package/esm2015/base/lib/vendor/types/graphql.types.js +7 -2
  134. package/esm2015/base/lib/vendor/types/types.js +31 -14
  135. package/esm2015/base/lib/vendor/updaters/create-guest-updater.js +11 -0
  136. package/esm2015/base/sabstravtech-obtservices-base.js +1 -1
  137. package/esm2015/base/updaters.js +2 -1
  138. package/fesm2015/sabstravtech-obtservices-angular.js +449 -141
  139. package/fesm2015/sabstravtech-obtservices-angular.js.map +1 -1
  140. package/fesm2015/sabstravtech-obtservices-base.js +1383 -410
  141. package/fesm2015/sabstravtech-obtservices-base.js.map +1 -1
  142. package/package.json +1 -1
@@ -13,4 +13,4 @@ export class AbstractHttpCallService {
13
13
  }, '');
14
14
  }
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jYWxsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYnRzZXJ2aWNlcy9iYXNlL3NyYy9saWIvdmVuZG9yL3NlcnZpY2VzL2h0dHAtY2FsbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBZ0IsdUJBQXVCO0lBaUMzQzs7OztPQUlHO0lBQ0ksU0FBUyxDQUFDLEdBQThCO1FBQzdDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFnQixFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQy9ELE9BQU8sQ0FDTCxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsR0FBRztnQkFDSCxHQUFHO2dCQUNILGtCQUFrQixDQUNoQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FDbkUsQ0FDRixDQUFDO1FBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztDQUlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVUkxTIH0gZnJvbSAnLi91cmwuc2VydmljZSc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RIdHRwQ2FsbFNlcnZpY2Uge1xyXG4gIGFic3RyYWN0IGZvcm1FbmNvZGVkUG9zdCh1cmw6IFVSTFMsIGJvZHk/OiBhbnksIHJlc3BvbnNlVHlwZT86ICdqc29uJyB8ICd0ZXh0Jyk6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgYWJzdHJhY3QgdGltZW91dEZvcm1FbmNvZGVkUG9zdChcclxuICAgIHVybDogVVJMUyxcclxuICAgIGJvZHk/OiBhbnksXHJcbiAgICByZVRpbWVvdXQ/OiBudW1iZXJcclxuICApOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gIGFic3RyYWN0IGZvcm1FbmNvZGVkUG9zdE5vRXJyb3JIYW5kbGluZyhcclxuICAgIHVybDogVVJMUyxcclxuICAgIGJvZHk/OiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gIC8qXHJcblx0XHRAZGVzYyAtIGNhbGwgYSB1cmwgdGhyb3VnaCBwb3N0LCB3aXRoIGEgSnNvbiBPYmplY3QgYXMgZGF0YSAoYW5ndWxhciBkZWZhdWx0KVxyXG5cdCoqL1xyXG4gIGFic3RyYWN0IHBvc3QodXJsOiBVUkxTLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gIC8qXHJcblx0XHRAZGVzYyAtIGNhbGwgYSBBbmd1bGFyIHN0YW5kYXJkIGdldCByZXF1ZXN0IChhcHBsaWNhdGlvbi9qc29uIGhlYWRlcnMpXHJcblx0KiovXHJcbiAgYWJzdHJhY3QgZ2V0KHVybDogVVJMUywgcGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICAvKlxyXG5cdFx0QGRlc2MgLSB0aGlzIHdpbGwgZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGEgbG9naW4gZXJyb3IgZm9yIHRoZSByZXF1ZXN0IG9yIG5vdCwgc2luY2UgdGhpcyBpcyBhIHBvdGVudGlhbCBlcnJvciBmb3IgZXZlcnkgY2FsbFxyXG5cdCoqL1xyXG4gIGFic3RyYWN0IGhhbmRsZVJlc3BvbnNlKGRhdGE6IGFueSk6IGFueTtcclxuICBhYnN0cmFjdCByZXNldExvZ291dCgpOiB2b2lkO1xyXG4gIC8qXHJcblx0XHRAZGVzYyAtIGhhbmRsZSBhbnkgZmF0YWwgZXJyb3JzIDQwNCdzIDUwMCdzIG90aGVyIGdlbmVyaWMgaHR0cCBlcnJvcnNcclxuXHQqKi9cclxuICBhYnN0cmFjdCBoYW5kbGVFcnJvcihlcnJvclZhbDogYW55LCBza2lwVGltZW91dE1lc3NhZ2U/OiBib29sZWFuKTogYW55O1xyXG5cclxuICAvKlxyXG4gICAqIFVzaW5nIHRoZSBrZXlzIG9mIHRoZSBnaXZlbiBvYmplY3QgYXMgcGFyYW1ldGVyIG5hbWVzIGNyZWF0ZSBhIHBhcmFtZXRlciBzdHJpbmcgdXJsIGVuY29kaW5nIHRoZSB2YWx1ZXMuXHJcbiAgICogVGhlIGZ1bmN0aW9uIGV4cGVjdHMgdGhlIHZhbHVlcyB0byBiZSBzdHJpbmdzLlxyXG4gICAqIEBwYXJhbSBvYmpcclxuICAgKi9cclxuICBwdWJsaWMgc2VyaWFsaXplKG9iajogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5yZWR1Y2UoKHRvUmV0dXJuOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgKHRvUmV0dXJuLmxlbmd0aCA/IHRvUmV0dXJuICsgJyYnIDogJycpICtcclxuICAgICAgICBrZXkgK1xyXG4gICAgICAgICc9JyArXHJcbiAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KFxyXG4gICAgICAgICAgdHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KG9ialtrZXldKSA6IG9ialtrZXldXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfSwgJycpO1xyXG4gIH1cclxuXHJcbiAgYWJzdHJhY3QgZ2V0SGVhZGVycygpOiBhbnk7XHJcbiAgYWJzdHJhY3QgbWFrZVVybCh1cmw6IFVSTFMpOiBzdHJpbmc7XHJcbn1cclxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jYWxsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYnRzZXJ2aWNlcy9iYXNlL3NyYy9saWIvdmVuZG9yL3NlcnZpY2VzL2h0dHAtY2FsbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBZ0IsdUJBQXVCO0lBa0MzQzs7OztPQUlHO0lBQ0ksU0FBUyxDQUFDLEdBQThCO1FBQzdDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFnQixFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQy9ELE9BQU8sQ0FDTCxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsR0FBRztnQkFDSCxHQUFHO2dCQUNILGtCQUFrQixDQUNoQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FDbkUsQ0FDRixDQUFDO1FBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztDQUlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVUkxTIH0gZnJvbSAnLi91cmwuc2VydmljZSc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RIdHRwQ2FsbFNlcnZpY2Uge1xyXG4gIGFic3RyYWN0IGZvcm1FbmNvZGVkUG9zdCh1cmw6IFVSTFMsIGJvZHk/OiBhbnksIHJlc3BvbnNlVHlwZT86ICdqc29uJyB8ICd0ZXh0Jyk6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgYWJzdHJhY3QgdGltZW91dEZvcm1FbmNvZGVkUG9zdChcclxuICAgIHVybDogVVJMUyxcclxuICAgIGJvZHk/OiBhbnksXHJcbiAgICByZVRpbWVvdXQ/OiBudW1iZXJcclxuICApOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gIGFic3RyYWN0IGZvcm1FbmNvZGVkUG9zdE5vRXJyb3JIYW5kbGluZyhcclxuICAgIHVybDogVVJMUyxcclxuICAgIGJvZHk/OiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gIC8qXHJcblx0XHRAZGVzYyAtIGNhbGwgYSB1cmwgdGhyb3VnaCBwb3N0LCB3aXRoIGEgSnNvbiBPYmplY3QgYXMgZGF0YSAoYW5ndWxhciBkZWZhdWx0KVxyXG5cdCoqL1xyXG4gIGFic3RyYWN0IHBvc3QodXJsOiBVUkxTLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICAvKlxyXG5cdFx0QGRlc2MgLSBjYWxsIGEgQW5ndWxhciBzdGFuZGFyZCBnZXQgcmVxdWVzdCAoYXBwbGljYXRpb24vanNvbiBoZWFkZXJzKVxyXG5cdCoqL1xyXG4gIGFic3RyYWN0IGdldCh1cmw6IFVSTFMsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgLypcclxuXHRcdEBkZXNjIC0gdGhpcyB3aWxsIGRldGVybWluZSBpZiB0aGVyZSBpcyBhIGxvZ2luIGVycm9yIGZvciB0aGUgcmVxdWVzdCBvciBub3QsIHNpbmNlIHRoaXMgaXMgYSBwb3RlbnRpYWwgZXJyb3IgZm9yIGV2ZXJ5IGNhbGxcclxuXHQqKi9cclxuICBhYnN0cmFjdCBoYW5kbGVSZXNwb25zZShkYXRhOiBhbnkpOiBhbnk7XHJcbiAgYWJzdHJhY3QgcmVzZXRMb2dvdXQoKTogdm9pZDtcclxuICAvKlxyXG5cdFx0QGRlc2MgLSBoYW5kbGUgYW55IGZhdGFsIGVycm9ycyA0MDQncyA1MDAncyBvdGhlciBnZW5lcmljIGh0dHAgZXJyb3JzXHJcblx0KiovXHJcbiAgYWJzdHJhY3QgaGFuZGxlRXJyb3IoZXJyb3JWYWw6IGFueSwgc2tpcFRpbWVvdXRNZXNzYWdlPzogYm9vbGVhbik6IGFueTtcclxuXHJcbiAgLypcclxuICAgKiBVc2luZyB0aGUga2V5cyBvZiB0aGUgZ2l2ZW4gb2JqZWN0IGFzIHBhcmFtZXRlciBuYW1lcyBjcmVhdGUgYSBwYXJhbWV0ZXIgc3RyaW5nIHVybCBlbmNvZGluZyB0aGUgdmFsdWVzLlxyXG4gICAqIFRoZSBmdW5jdGlvbiBleHBlY3RzIHRoZSB2YWx1ZXMgdG8gYmUgc3RyaW5ncy5cclxuICAgKiBAcGFyYW0gb2JqXHJcbiAgICovXHJcbiAgcHVibGljIHNlcmlhbGl6ZShvYmo6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikucmVkdWNlKCh0b1JldHVybjogc3RyaW5nLCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgICh0b1JldHVybi5sZW5ndGggPyB0b1JldHVybiArICcmJyA6ICcnKSArXHJcbiAgICAgICAga2V5ICtcclxuICAgICAgICAnPScgK1xyXG4gICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChcclxuICAgICAgICAgIHR5cGVvZiBvYmpba2V5XSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShvYmpba2V5XSkgOiBvYmpba2V5XVxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH0sICcnKTtcclxuICB9XHJcblxyXG4gIGFic3RyYWN0IGdldEhlYWRlcnMoKTogYW55O1xyXG4gIGFic3RyYWN0IG1ha2VVcmwodXJsOiBVUkxTKTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -5,7 +5,7 @@ import { UserFavorurite } from '../classes/user-favourite.enum';
5
5
  import { of } from 'rxjs';
6
6
  import { ModalTypes } from '../classes/modal-types.enum';
7
7
  export class BaseLogonService {
8
- constructor(userService, modalService, http, router, eventMessenager, storageService, environment) {
8
+ constructor(userService, modalService, http, router, eventMessenager, storageService, environment, webTokenService) {
9
9
  this.userService = userService;
10
10
  this.modalService = modalService;
11
11
  this.http = http;
@@ -13,6 +13,7 @@ export class BaseLogonService {
13
13
  this.eventMessenager = eventMessenager;
14
14
  this.storageService = storageService;
15
15
  this.environment = environment;
16
+ this.webTokenService = webTokenService;
16
17
  this.loading = false;
17
18
  this.isLoggedIn = false;
18
19
  this.redirectUrl = '';
@@ -79,6 +80,37 @@ export class BaseLogonService {
79
80
  setRefresh() {
80
81
  this.timeoutSubscription = window.setTimeout(this.refreshToken.bind(this), this.environment.authRefreshTimeout * 1000);
81
82
  }
83
+ becomeUser(username) {
84
+ return new Promise((resolve, reject) => {
85
+ this.clearRefresh();
86
+ this.http
87
+ .post(URLS.BECOME_USER, { username })
88
+ .pipe(take(1))
89
+ .subscribe((data) => {
90
+ console.log(data);
91
+ this.userService.setUser(data.jwtObject);
92
+ this.router.navigate(['main']);
93
+ resolve(true);
94
+ }, (error) => {
95
+ reject(error);
96
+ });
97
+ });
98
+ }
99
+ endBecomeUserSession() {
100
+ return new Promise((resolve, reject) => {
101
+ this.clearRefresh();
102
+ this.http
103
+ .post(URLS.END_BECOME_USER, {})
104
+ .pipe(take(1))
105
+ .subscribe((data) => {
106
+ console.log(data);
107
+ this.userService.setUser(data.jwtObject);
108
+ resolve(true);
109
+ }, (error) => {
110
+ reject(error);
111
+ });
112
+ });
113
+ }
82
114
  login(username, password, again) {
83
115
  this.userService.emptyUserData();
84
116
  this.storageService.clearSessionData();
@@ -89,6 +121,7 @@ export class BaseLogonService {
89
121
  password
90
122
  })
91
123
  .pipe(take(1), map((value, index) => {
124
+ this.webTokenService.bobo = null;
92
125
  this.setRefresh();
93
126
  return this.handleResponse(value);
94
127
  }));
@@ -118,6 +151,7 @@ export class BaseLogonService {
118
151
  const isSSO = this.userService.isUserFavoriteSet(UserFavorurite.SSO_no_password);
119
152
  this.clearRefresh();
120
153
  this.isLoggedIn = false;
154
+ this.webTokenService.bobo = null;
121
155
  this.userService.emptyUserData();
122
156
  this.storageService.clearSessionData();
123
157
  this.http.post(URLS.LOGOUT_URL).subscribe((data) => {
@@ -160,7 +194,7 @@ export class BaseLogonService {
160
194
  **/
161
195
  recoverPassword(username) {
162
196
  return this.http.formEncodedPost(URLS.RECOVER_PASSWORD_URL, {
163
- username: `${username}`,
197
+ username: `${username}`
164
198
  }, 'text');
165
199
  }
166
200
  /*
@@ -174,4 +208,4 @@ export class BaseLogonService {
174
208
  this.modalService.open(ModalTypes.ModalErrorComponent, {}, modalValues);
175
209
  }
176
210
  }
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3Ivc2VydmljZXMvbG9nb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVd6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUzNCLFlBQ1UsV0FBaUMsRUFDakMsWUFBb0MsRUFDcEMsSUFBNkIsRUFDN0IsTUFBYyxFQUNkLGVBQW9DLEVBQ3BDLGNBQWtDLEVBQ2xDLFdBQTRCO1FBTjVCLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFDcEMsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQUNwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBZnRDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUlqQixtQkFBYyxHQUFxQixJQUFJLENBQUM7SUFVckMsQ0FBQztJQUVKLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxZQUFZLEVB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SSxDQUFDLGVBQWUsQ0FDOUIsSUFBSSxDQUFDLG9CQUFvQixFQUN6QjtZQUNFLFFBQVEsRUFBQyxHQUFHLFFBQVEsRUFBRTtTQUN2QixFQUNELE1BQU0sQ0FDUCxDQUFBO0lBQ0gsQ0FBQztJQUVEOztRQUVJO0lBQ0osV0FBVyxDQUFDLEtBQWE7UUFDdkIseUNBQXlDO1FBQ3pDLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLEtBQUs7U0FDTixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVU0VSX1NJR05FRE9VVCB9IGZyb20gJy4vdXNlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlTW9kYWxPcGVuZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1vcGVuZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IFVSTFMgfSBmcm9tICcuL3VybC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlckZhdm9ydXJpdGUgfSBmcm9tICcuLi9jbGFzc2VzL3VzZXItZmF2b3VyaXRlLmVudW0nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCYXNlRXZlbnRNZXNzZW5hZ2VyIH0gZnJvbSAnLi4vY2xhc3Nlcy9ldmVudC1tZXNzZW5hZ2VyJztcclxuaW1wb3J0IHsgQmFzZUVudmlyb25tZW50IH0gZnJvbSAnLi4vY2xhc3Nlcy9lbnZpcm9tZW50JztcclxuaW1wb3J0IHsgTW9kYWxUeXBlcyB9IGZyb20gJy4uL2NsYXNzZXMvbW9kYWwtdHlwZXMuZW51bSc7XHJcbmltcG9ydCB7IFVzZXJEYXRhIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy91c2VyLmRhdGEnO1xyXG5pbXBvcnQge1xyXG4gIEF1dGhJbmZvLFxyXG4gIExvZ2luUmVzcG9uc2UsXHJcbiAgUGFzc3dvcmRDaGFuZ2VSZXNwb25zZVxyXG59IGZyb20gJy4uL21vZGVscy9sb2dpbi5tb2RlbCc7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JdXNlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RIdHRwQ2FsbFNlcnZpY2UgfSBmcm9tICcuL2h0dHAtY2FsbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEJhc2VMb2dvblNlcnZpY2Uge1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBpc0xvZ2dlZEluID0gZmFsc2U7XHJcbiAgcmVkaXJlY3RVcmwgPSAnJztcclxuICBhdXRoSW5mbzogQXV0aEluZm87XHJcbiAgbG9naW5SZXNwb25zZTogTG9naW5SZXNwb25zZTtcclxuICB0aW1lb3V0U3Vic2NyaXB0aW9uOiBudW1iZXI7XHJcbiAgcmVmcmVzaFByb21pc2U6IFByb21pc2U8Ym9vbGVhbj4gPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlSW50ZXJmYWNlLFxyXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJhc2VNb2RhbE9wZW5lclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHA6IEFic3RyYWN0SHR0cENhbGxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgZXZlbnRNZXNzZW5hZ2VyOiBCYXNlRXZlbnRNZXNzZW5hZ2VyLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogQmFzZVN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbnZpcm9ubWVudDogQmFzZUVudmlyb25tZW50XHJcbiAgKSB7fVxyXG5cclxuICBjaGVja0xvZ2luKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaFRva2VuKCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoVG9rZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICB0aGlzLnJlZnJlc2hQcm9taXNlID1cclxuICAgICAgdGhpcy5yZWZyZXNoUHJvbWlzZSB8fFxyXG4gICAgICBuZXcgUHJvbWlzZShcclxuICAgICAgICAocmVzb2x2ZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkLCByZWplY3Q6IChlcnJvcjogYW55KSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyUmVmcmVzaCgpO1xyXG4gICAgICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5mb3JtRW5jb2RlZFBvc3ROb0Vycm9ySGFuZGxpbmcoVVJMUy5SZWZyZXNoLCB7fSlcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVJlc3BvbnNlKGRhdGEpO1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucm91dGVyLnVybCAhPT0gJ2xvZ2luJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvZ291dERpYWxvZyA9IHRoaXMubW9kYWxTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAub3BlbihcclxuICAgICAgICAgICAgICAgICAgICAgICAgTW9kYWxUeXBlcy5CYXNlTW9kYWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdBdXRvIExvZ291dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keTogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b25DYW5jZWw6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uT2s6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b25Pa1RleHQ6ICdDb250aW51ZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWZyZXNoKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgICAudGhlbigoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlZnJlc2hQcm9taXNlID0gbnVsbDtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlZnJlc2hQcm9taXNlID0gbnVsbDtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnJlZnJlc2hQcm9taXNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhclJlZnJlc2goKSB7XHJcbiAgICBpZiAodGhpcy50aW1lb3V0U3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRTdWJzY3JpcHRpb24pO1xyXG4gICAgICB0aGlzLnRpbWVvdXRTdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRSZWZyZXNoKCkge1xyXG4gICAgdGhpcy50aW1lb3V0U3Vic2NyaXB0aW9uID0gd2luZG93LnNldFRpbWVvdXQoXHJcbiAgICAgIHRoaXMucmVmcmVzaFRva2VuLmJpbmQodGhpcyksXHJcbiAgICAgIHRoaXMuZW52aXJvbm1lbnQuYXV0aFJlZnJlc2hUaW1lb3V0ICogMTAwMFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGxvZ2luKFxyXG4gICAgdXNlcm5hbWU6IHN0cmluZyxcclxuICAgIHBhc3N3b3JkOiBzdHJpbmcsXHJcbiAgICBhZ2Fpbj86IGJvb2xlYW5cclxuICApOiBPYnNlcnZhYmxlPFVzZXJEYXRhPiB7XHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmVtcHR5VXNlckRhdGEoKTtcclxuXHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmNsZWFyU2Vzc2lvbkRhdGEoKTtcclxuICAgIHRoaXMuY2xlYXJSZWZyZXNoKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5mb3JtRW5jb2RlZFBvc3ROb0Vycm9ySGFuZGxpbmcoVVJMUy5BY2Nlc3NUb2tlbiwge1xyXG4gICAgICAgIHVzZXJuYW1lLFxyXG4gICAgICAgIHBhc3N3b3JkXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgbWFwKCh2YWx1ZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNldFJlZnJlc2goKTtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVJlc3BvbnNlKHZhbHVlKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLypcclxuXHRcdEBkZXNjIC0gdGhpcyB3aWxsIGRldGVybWluZSBpZiB0aGVyZSBpcyBhIGxvZ2luIGVycm9yIGZvciB0aGUgcmVxdWVzdCBvciBub3QsIHNpbmNlIHRoaXMgaXMgYSBwb3RlbnRpYWwgZXJyb3IgZm9yIGV2ZXJ5IGNhbGxcclxuXHQqKi9cclxuICBoYW5kbGVSZXNwb25zZShkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyAmJiBkYXRhLmp3dCkge1xyXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldFVzZXIoZGF0YS5qd3RPYmplY3QpO1xyXG4gICAgICBkZWxldGUgZGF0YS5qd3Q7XHJcbiAgICAgIGRlbGV0ZSBkYXRhLmp3dE9iamVjdDtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgY29va2llTG9naW4odXNlcm5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlckRhdGE+IHtcclxuICAgIC8vIGNvbnN0IHNzbyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3Nzb19xdWVyeScpO1xyXG4gICAgLypcclxuICAgIHRoaXMudXNlclNlcnZpY2UuZW1wdHlVc2VyRGF0YSgpO1xyXG4gICAgdGhpcy51c2VyU2VydmljZS5zZXRVc2VyQWdlbnQodXNlcm5hbWUpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnc3NvX3F1ZXJ5Jywgc3NvKTtcclxuICAgIHRoaXMuYXV0aEluZm8gPSBuZXcgQXV0aEluZm8odXNlcm5hbWUsICcnLCBmYWxzZSk7Ki9cclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0KFVSTFMuTlVNQkVSX09OQ0VfVE9LRU5fVVJMKTtcclxuICAgIHJldHVybiBvZihudWxsKTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpIHtcclxuICAgIGNvbnN0IGlzU1NPID0gdGhpcy51c2VyU2VydmljZS5pc1VzZXJGYXZvcml0ZVNldChcclxuICAgICAgVXNlckZhdm9ydXJpdGUuU1NPX25vX3Bhc3N3b3JkXHJcbiAgICApO1xyXG4gICAgdGhpcy5jbGVhclJlZnJlc2goKTtcclxuICAgIHRoaXMuaXNMb2dnZWRJbiA9IGZhbHNlO1xyXG4gICAgdGhpcy51c2VyU2VydmljZS5lbXB0eVVzZXJEYXRhKCk7XHJcblxyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5jbGVhclNlc3Npb25EYXRhKCk7XHJcbiAgICB0aGlzLmh0dHAucG9zdChVUkxTLkxPR09VVF9VUkwpLnN1YnNjcmliZShcclxuICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoIWRhdGEuTG9nb3V0U3VjY2Vzcykge1xyXG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBxdW90ZW1hcmtcclxuICAgICAgICAgIGNvbnNvbGUud2FybihcIllvdSdyZSBub3QgbG9nZ2VkIGluLCBjYW5ub3QgbG9nIG91dC5cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ldmVudE1lc3NlbmFnZXIuZW1pdChVU0VSX1NJR05FRE9VVCwge30pO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzVXNlckZhdm9yaXRlU2V0KFVzZXJGYXZvcnVyaXRlLlNTT19ub19wYXNzd29yZClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9nT3V0RGlnaXRzVXNlciddKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydsb2dvbiddKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYXNzd29yZChhdXRoSW5mbzogQXV0aEluZm8pOiBPYnNlcnZhYmxlPFBhc3N3b3JkQ2hhbmdlUmVzcG9uc2U+IHtcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcclxuICAgIC8vICAgLmZvcm1FbmNvZGVkUG9zdChVUkxTLkNIQU5HRV9QQVNTV09SRCwgYXV0aEluZm8uZ2V0Q2hhbmdlUGFzc1Rva2VuU3RyKCkpXHJcbiAgICAvLyAgIC5waXBlKFxyXG4gICAgLy8gICAgIG1hcCgocmVzOiBQYXNzd29yZENoYW5nZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAvLyAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuICAgIC8vICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgICAgIHRocm93IG5ldyBMb2dpbkVycm9yKExvZ2luRXJyb3JSZWFzb24uUEFTU1dPUkRfQ0hBTkdFLCByZXMpO1xyXG4gICAgLy8gICAgICAgfVxyXG4gICAgLy8gICAgIH0pXHJcbiAgICAvLyAgICk7XHJcbiAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgfVxyXG5cclxuICByZXNldFBhc3N3b3JkKHBhc3N3b3JkUmVzZXRUb2tlbjogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQYXNzd29yZENoYW5nZVJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmZvcm1FbmNvZGVkUG9zdChcclxuICAgICAgVVJMUy5SRVNFVF9QQVNTV09SRCxcclxuICAgICAge1xyXG4gICAgICAgIHBhc3N3b3JkUmVzZXRUb2tlbixcclxuICAgICAgICBuZXdQYXNzd29yZFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLypcclxuXHRcdEBkZXNjIC0gYWN0YXVhbGx5IGNhbGwgdGhlIGJhY2tlbmQgcGVybCBmb3IgcmVjb3ZlciBwYXNzXHJcblx0KiovXHJcbiAgcmVjb3ZlclBhc3N3b3JkKHVzZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5mb3JtRW5jb2RlZFBvc3QoXHJcbiAgICAgIFVSTFMuUkVDT1ZFUl9QQVNTV09SRF9VUkwsXHJcbiAgICAgIHtcclxuICAgICAgICB1c2VybmFtZTpgJHt1c2VybmFtZX1gLFxyXG4gICAgICB9LFxyXG4gICAgICAndGV4dCdcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICpcdEBkZXNjIC0gZXJyb3IgaGFuZGxpbmcsIG9wZW5zIGEgbW9kYWwgd2l0aCB0aGUgcGFzc2VkIGluIGVycm9yIG1lc3NhZ2VcclxuICAgKiovXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IHN0cmluZykge1xyXG4gICAgLy8gdGhpcy51c2VyU2VydmljZS5iZWNvbWluZ1VzZXIgPSBmYWxzZTtcclxuICAgIGNvbnN0IG1vZGFsVmFsdWVzID0ge1xyXG4gICAgICBlcnJvclxyXG4gICAgfTtcclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oTW9kYWxUeXBlcy5Nb2RhbEVycm9yQ29tcG9uZW50LCB7fSwgbW9kYWxWYWx1ZXMpO1xyXG4gIH1cclxufVxyXG4iXX0=
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3Ivc2VydmljZXMvbG9nb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQWF6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUzNCLFlBQ1UsV0FBaUMsRUFDakMsWUFBb0MsRUFDcEMsSUFBNkIsRUFDN0IsTUFBYyxFQUNkLGVBQW9DLEVBQ3BDLGNBQWtDLEVBQ2xDLFdBQTRCLEVBQzVCLGVBQW9DO1FBUHBDLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFDcEMsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQUNwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQWhCOUMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBSWpCLG1CQUFjLEdBQXFCLElBQUksQ0FBQztJQVdyQyxD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QzNCLHNCQUFzQjtRQUN0QixpQkFBaUI7UUFDakIsdUVBQXVFO1FBQ3ZFLFVBQVU7UUFDVixTQUFTO1FBQ1QsT0FBTztRQUNQLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxhQUFhLENBQ1gsa0JBQTBCLEVBQzFCLFdBQW1CO1FBRW5CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNwRCxrQkFBa0I7WUFDbEIsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7U0FFRTtJQUNGLGVBQWUsQ0FBQyxRQUFnQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQ3pCO1lBQ0UsUUFBUSxFQUFFLEdBQUcsUUFBUSxFQUFFO1NBQ3hCLEVBQ0QsTUFBTSxDQUNQLENBQUM7SUFDSixDQUFDO0lBRUQ7O1FBRUk7SUFDSixXQUFXLENBQUMsS0FBYTtRQUN2Qix5Q0FBeUM7UUFDekMsTUFBTSxXQUFXLEdBQUc7WUFDbEIsS0FBSztTQUNOLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVTRVJfU0lHTkVET1VUIH0gZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJhc2VNb2RhbE9wZW5lclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLW9wZW5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgVVJMUyB9IGZyb20gJy4vdXJsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyRmF2b3J1cml0ZSB9IGZyb20gJy4uL2NsYXNzZXMvdXNlci1mYXZvdXJpdGUuZW51bSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJhc2VFdmVudE1lc3NlbmFnZXIgfSBmcm9tICcuLi9jbGFzc2VzL2V2ZW50LW1lc3NlbmFnZXInO1xyXG5pbXBvcnQgeyBCYXNlRW52aXJvbm1lbnQgfSBmcm9tICcuLi9jbGFzc2VzL2Vudmlyb21lbnQnO1xyXG5pbXBvcnQgeyBNb2RhbFR5cGVzIH0gZnJvbSAnLi4vY2xhc3Nlcy9tb2RhbC10eXBlcy5lbnVtJztcclxuaW1wb3J0IHsgVXNlckRhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3VzZXIuZGF0YSc7XHJcbmltcG9ydCB7XHJcbiAgQXV0aEluZm8sXHJcbiAgTG9naW5SZXNwb25zZSxcclxuICBQYXNzd29yZENoYW5nZVJlc3BvbnNlXHJcbn0gZnJvbSAnLi4vbW9kZWxzL2xvZ2luLm1vZGVsJztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0l1c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdEh0dHBDYWxsU2VydmljZSB9IGZyb20gJy4vaHR0cC1jYWxsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi90eXBlcy9ncmFwaHFsLnR5cGVzJztcclxuaW1wb3J0IHsgQmFzZVdlYlRva2VuU2VydmljZSB9IGZyb20gJy4vd2VidG9rZW4uc2VydmljZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZUxvZ29uU2VydmljZSB7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGlzTG9nZ2VkSW4gPSBmYWxzZTtcclxuICByZWRpcmVjdFVybCA9ICcnO1xyXG4gIGF1dGhJbmZvOiBBdXRoSW5mbztcclxuICBsb2dpblJlc3BvbnNlOiBMb2dpblJlc3BvbnNlO1xyXG4gIHRpbWVvdXRTdWJzY3JpcHRpb246IG51bWJlcjtcclxuICByZWZyZXNoUHJvbWlzZTogUHJvbWlzZTxib29sZWFuPiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2VJbnRlcmZhY2UsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogQmFzZU1vZGFsT3BlbmVyU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogQWJzdHJhY3RIdHRwQ2FsbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBldmVudE1lc3NlbmFnZXI6IEJhc2VFdmVudE1lc3NlbmFnZXIsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBCYXNlU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVudmlyb25tZW50OiBCYXNlRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIHdlYlRva2VuU2VydmljZTogQmFzZVdlYlRva2VuU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgY2hlY2tMb2dpbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlbigpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFRva2VuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgdGhpcy5yZWZyZXNoUHJvbWlzZSA9XHJcbiAgICAgIHRoaXMucmVmcmVzaFByb21pc2UgfHxcclxuICAgICAgbmV3IFByb21pc2UoXHJcbiAgICAgICAgKHJlc29sdmU6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCwgcmVqZWN0OiAoZXJyb3I6IGFueSkgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbGVhclJlZnJlc2goKTtcclxuICAgICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZm9ybUVuY29kZWRQb3N0Tm9FcnJvckhhbmRsaW5nKFVSTFMuUmVmcmVzaCwge30pXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVSZXNwb25zZShkYXRhKTtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJvdXRlci51cmwgIT09ICdsb2dpbicpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBsb2dvdXREaWFsb2cgPSB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgICAgLm9wZW4oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE1vZGFsVHlwZXMuQmFzZU1vZGFsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQXV0byBMb2dvdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uQ2FuY2VsOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbk9rOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uT2tUZXh0OiAnQ29udGludWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVmcmVzaCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoUHJvbWlzZSA9IG51bGw7XHJcbiAgICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaCgoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoUHJvbWlzZSA9IG51bGw7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5yZWZyZXNoUHJvbWlzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJSZWZyZXNoKCkge1xyXG4gICAgaWYgKHRoaXMudGltZW91dFN1YnNjcmlwdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0U3Vic2NyaXB0aW9uKTtcclxuICAgICAgdGhpcy50aW1lb3V0U3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0UmVmcmVzaCgpIHtcclxuICAgIHRoaXMudGltZW91dFN1YnNjcmlwdGlvbiA9IHdpbmRvdy5zZXRUaW1lb3V0KFxyXG4gICAgICB0aGlzLnJlZnJlc2hUb2tlbi5iaW5kKHRoaXMpLFxyXG4gICAgICB0aGlzLmVudmlyb25tZW50LmF1dGhSZWZyZXNoVGltZW91dCAqIDEwMDBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBiZWNvbWVVc2VyKHVzZXJuYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShcclxuICAgICAgKHJlc29sdmU6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCwgcmVqZWN0OiAoZXJyb3I6IGFueSkgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xlYXJSZWZyZXNoKCk7XHJcbiAgICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgICAucG9zdChVUkxTLkJFQ09NRV9VU0VSLCB7IHVzZXJuYW1lIH0pXHJcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldFVzZXIoZGF0YS5qd3RPYmplY3QpO1xyXG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbWFpbiddKTtcclxuICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZW5kQmVjb21lVXNlclNlc3Npb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoXHJcbiAgICAgIChyZXNvbHZlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQsIHJlamVjdDogKGVycm9yOiBhbnkpID0+IHZvaWQpID0+IHtcclxuICAgICAgICB0aGlzLmNsZWFyUmVmcmVzaCgpO1xyXG4gICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgLnBvc3QoVVJMUy5FTkRfQkVDT01FX1VTRVIsIHt9KVxyXG4gICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5zZXRVc2VyKGRhdGEuand0T2JqZWN0KTtcclxuICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbG9naW4oXHJcbiAgICB1c2VybmFtZTogc3RyaW5nLFxyXG4gICAgcGFzc3dvcmQ6IHN0cmluZyxcclxuICAgIGFnYWluPzogYm9vbGVhblxyXG4gICk6IE9ic2VydmFibGU8VXNlckRhdGE+IHtcclxuICAgIHRoaXMudXNlclNlcnZpY2UuZW1wdHlVc2VyRGF0YSgpO1xyXG5cclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXJTZXNzaW9uRGF0YSgpO1xyXG4gICAgdGhpcy5jbGVhclJlZnJlc2goKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmZvcm1FbmNvZGVkUG9zdE5vRXJyb3JIYW5kbGluZyhVUkxTLkFjY2Vzc1Rva2VuLCB7XHJcbiAgICAgICAgdXNlcm5hbWUsXHJcbiAgICAgICAgcGFzc3dvcmRcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICBtYXAoKHZhbHVlOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgIHRoaXMud2ViVG9rZW5TZXJ2aWNlLmJvYm8gPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5zZXRSZWZyZXNoKCk7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVSZXNwb25zZSh2YWx1ZSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qXHJcblx0XHRAZGVzYyAtIHRoaXMgd2lsbCBkZXRlcm1pbmUgaWYgdGhlcmUgaXMgYSBsb2dpbiBlcnJvciBmb3IgdGhlIHJlcXVlc3Qgb3Igbm90LCBzaW5jZSB0aGlzIGlzIGEgcG90ZW50aWFsIGVycm9yIGZvciBldmVyeSBjYWxsXHJcblx0KiovXHJcbiAgaGFuZGxlUmVzcG9uc2UoZGF0YTogYW55KTogYW55IHtcclxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgZGF0YS5qd3QpIHtcclxuICAgICAgdGhpcy51c2VyU2VydmljZS5zZXRVc2VyKGRhdGEuand0T2JqZWN0KTtcclxuICAgICAgZGVsZXRlIGRhdGEuand0O1xyXG4gICAgICBkZWxldGUgZGF0YS5qd3RPYmplY3Q7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9XHJcblxyXG4gIGNvb2tpZUxvZ2luKHVzZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJEYXRhPiB7XHJcbiAgICAvLyBjb25zdCBzc28gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdzc29fcXVlcnknKTtcclxuICAgIC8qXHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmVtcHR5VXNlckRhdGEoKTtcclxuICAgIHRoaXMudXNlclNlcnZpY2Uuc2V0VXNlckFnZW50KHVzZXJuYW1lKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3Nzb19xdWVyeScsIHNzbyk7XHJcbiAgICB0aGlzLmF1dGhJbmZvID0gbmV3IEF1dGhJbmZvKHVzZXJuYW1lLCAnJywgZmFsc2UpOyovXHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLmdldChVUkxTLk5VTUJFUl9PTkNFX1RPS0VOX1VSTCk7XHJcbiAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICBjb25zdCBpc1NTTyA9IHRoaXMudXNlclNlcnZpY2UuaXNVc2VyRmF2b3JpdGVTZXQoXHJcbiAgICAgIFVzZXJGYXZvcnVyaXRlLlNTT19ub19wYXNzd29yZFxyXG4gICAgKTtcclxuICAgIHRoaXMuY2xlYXJSZWZyZXNoKCk7XHJcbiAgICB0aGlzLmlzTG9nZ2VkSW4gPSBmYWxzZTtcclxuICAgIHRoaXMud2ViVG9rZW5TZXJ2aWNlLmJvYm8gPSBudWxsO1xyXG4gICAgdGhpcy51c2VyU2VydmljZS5lbXB0eVVzZXJEYXRhKCk7XHJcblxyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5jbGVhclNlc3Npb25EYXRhKCk7XHJcbiAgICB0aGlzLmh0dHAucG9zdChVUkxTLkxPR09VVF9VUkwpLnN1YnNjcmliZShcclxuICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoIWRhdGEuTG9nb3V0U3VjY2Vzcykge1xyXG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBxdW90ZW1hcmtcclxuICAgICAgICAgIGNvbnNvbGUud2FybihcIllvdSdyZSBub3QgbG9nZ2VkIGluLCBjYW5ub3QgbG9nIG91dC5cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ldmVudE1lc3NlbmFnZXIuZW1pdChVU0VSX1NJR05FRE9VVCwge30pO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzVXNlckZhdm9yaXRlU2V0KFVzZXJGYXZvcnVyaXRlLlNTT19ub19wYXNzd29yZClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9nT3V0RGlnaXRzVXNlciddKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydsb2dvbiddKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYXNzd29yZChhdXRoSW5mbzogQXV0aEluZm8pOiBPYnNlcnZhYmxlPFBhc3N3b3JkQ2hhbmdlUmVzcG9uc2U+IHtcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcclxuICAgIC8vICAgLmZvcm1FbmNvZGVkUG9zdChVUkxTLkNIQU5HRV9QQVNTV09SRCwgYXV0aEluZm8uZ2V0Q2hhbmdlUGFzc1Rva2VuU3RyKCkpXHJcbiAgICAvLyAgIC5waXBlKFxyXG4gICAgLy8gICAgIG1hcCgocmVzOiBQYXNzd29yZENoYW5nZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAvLyAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuICAgIC8vICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgICAgIHRocm93IG5ldyBMb2dpbkVycm9yKExvZ2luRXJyb3JSZWFzb24uUEFTU1dPUkRfQ0hBTkdFLCByZXMpO1xyXG4gICAgLy8gICAgICAgfVxyXG4gICAgLy8gICAgIH0pXHJcbiAgICAvLyAgICk7XHJcbiAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgfVxyXG5cclxuICByZXNldFBhc3N3b3JkKFxyXG4gICAgcGFzc3dvcmRSZXNldFRva2VuOiBzdHJpbmcsXHJcbiAgICBuZXdQYXNzd29yZDogc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTxQYXNzd29yZENoYW5nZVJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmZvcm1FbmNvZGVkUG9zdChVUkxTLlJFU0VUX1BBU1NXT1JELCB7XHJcbiAgICAgIHBhc3N3b3JkUmVzZXRUb2tlbixcclxuICAgICAgbmV3UGFzc3dvcmRcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLypcclxuXHRcdEBkZXNjIC0gYWN0YXVhbGx5IGNhbGwgdGhlIGJhY2tlbmQgcGVybCBmb3IgcmVjb3ZlciBwYXNzXHJcblx0KiovXHJcbiAgcmVjb3ZlclBhc3N3b3JkKHVzZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5mb3JtRW5jb2RlZFBvc3QoXHJcbiAgICAgIFVSTFMuUkVDT1ZFUl9QQVNTV09SRF9VUkwsXHJcbiAgICAgIHtcclxuICAgICAgICB1c2VybmFtZTogYCR7dXNlcm5hbWV9YFxyXG4gICAgICB9LFxyXG4gICAgICAndGV4dCdcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqXHRAZGVzYyAtIGVycm9yIGhhbmRsaW5nLCBvcGVucyBhIG1vZGFsIHdpdGggdGhlIHBhc3NlZCBpbiBlcnJvciBtZXNzYWdlXHJcbiAgICoqL1xyXG4gIGhhbmRsZUVycm9yKGVycm9yOiBzdHJpbmcpIHtcclxuICAgIC8vIHRoaXMudXNlclNlcnZpY2UuYmVjb21pbmdVc2VyID0gZmFsc2U7XHJcbiAgICBjb25zdCBtb2RhbFZhbHVlcyA9IHtcclxuICAgICAgZXJyb3JcclxuICAgIH07XHJcbiAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKE1vZGFsVHlwZXMuTW9kYWxFcnJvckNvbXBvbmVudCwge30sIG1vZGFsVmFsdWVzKTtcclxuICB9XHJcbn1cclxuIl19
@@ -28,22 +28,26 @@ export class BaseRequiresReasonService {
28
28
  };
29
29
  const results = yield this.modalService.open(ModalTypes.RequiresReasonDialogComponent, { backdrop: 'static' }, this.workingOn);
30
30
  if (results) {
31
- this.workingOn.basket.basketItems.forEach((bi) => {
32
- (bi.managementInfo || []).forEach((mi) => {
31
+ yield Promise.all(this.workingOn.basket.basketItems.map((bi) => {
32
+ return Promise.all((bi.managementInfo || []).map((mi) => {
33
33
  if (results[mi.id]) {
34
- this.basketService.setMiSelectedValue(this.workingOn.basket.id, mi, results[mi.id], null);
34
+ return this.basketService.setMiSelectedValue(this.workingOn.basket.id, mi, results[mi.id], null);
35
35
  }
36
- });
37
- });
36
+ else {
37
+ return Promise.resolve();
38
+ }
39
+ }));
40
+ }));
41
+ this.workingOn = null;
38
42
  }
39
43
  else {
40
- Object.entries(this.workingOn.required).forEach(([biId, mis]) => {
41
- this.basketService.removeBasketItem(this.workingOn.basket.id, this.workingOn.basket.basketItems.find((bi) => bi.id === biId));
42
- });
44
+ yield Promise.all(Object.entries(this.workingOn.required).map(([biId, mis]) => {
45
+ return this.basketService.removeBasketItem(this.workingOn.basket.id, this.workingOn.basket.basketItems.find((bi) => bi.id === biId));
46
+ }));
47
+ this.workingOn = null;
43
48
  }
44
- this.workingOn = null;
45
49
  }
46
50
  });
47
51
  }
48
52
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZXMtcmVhc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYnRzZXJ2aWNlcy9iYXNlL3NyYy9saWIvdmVuZG9yL3NlcnZpY2VzL3JlcXVpcmVzLXJlYXNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFjekQsTUFBTSxPQUFPLHlCQUF5QjtJQU1wQyxZQUNVLFlBQW9DLEVBQ3BDLGFBQStDO1FBRC9DLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0M7SUFDdEQsQ0FBQztJQUVFLGFBQWEsQ0FBQyxNQUF3Qjs7WUFDMUMsSUFBSSxNQUFNLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDeEQsT0FBTzthQUNSO1lBRUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFjLEVBQUUsRUFBRTtnQkFDL0QsT0FBTyxDQUNMLEVBQUUsQ0FBQyxjQUFjO29CQUNqQixFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQWtCLEVBQUUsRUFBRTt3QkFDOUMsT0FBTyxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztvQkFDckQsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FDaEIsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRztvQkFDZixNQUFNO29CQUNOLFFBQVEsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFjLEVBQUUsRUFBRTt3QkFDbEUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQWtCLEVBQUUsRUFBRTs0QkFDaEUsT0FBTyxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQzt3QkFDckQsQ0FBQyxDQUFDLENBQUM7d0JBQ0gsT0FBTyxRQUFRLENBQUM7b0JBQ2xCLENBQUMsRUFBRSxFQUFFLENBQUM7aUJBQ1AsQ0FBQztnQkFFRixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUMxQyxVQUFVLENBQUMsNkJBQTZCLEVBQ3hDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUN0QixJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7Z0JBQ0YsSUFBSSxPQUFPLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQWMsRUFBRSxFQUFFO3dCQUMzRCxDQUFDLEVBQUUsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBa0IsRUFBRSxFQUFFOzRCQUN2RCxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0NBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFDeEIsRUFBRSxFQUNGLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQ2QsSUFBSSxDQUNMLENBQUM7NkJBQ0g7d0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDN0MsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQTZCLEVBQUUsRUFBRTt3QkFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNwQyxDQUFDLEVBQWMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQ25DLENBQ0YsQ0FBQztvQkFDSixDQUFDLENBQ0YsQ0FBQztpQkFDSDtnQkFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QjtRQUNILENBQUM7S0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGFsT3BlbmVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtb3BlbmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNrZXRJdGVtLCBNYW5hZ2VtZW50SW5mbyB9IGZyb20gJy4uL3R5cGVzL2dyYXBocWwudHlwZXMnO1xyXG5pbXBvcnQgeyBNb2RhbFR5cGVzIH0gZnJvbSAnLi4vY2xhc3Nlcy9tb2RhbC10eXBlcy5lbnVtJztcclxuaW1wb3J0IHsgVXNlckJhc2tldFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcclxuaW1wb3J0IHsgRW50ZXJwcmlzZUJhc2tldFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0llbnRlcnByaXNlLWJhc2tldC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIFJlcXVpcmVkID0gUmVjb3JkPHN0cmluZywgTWFuYWdlbWVudEluZm9bXT47XHJcbmV4cG9ydCB0eXBlIFJlcXVpcmVzUmVhc29uVHlwZSA9IHtcclxuICBiYXNrZXQ6IFVzZXJCYXNrZXRSZXN1bHQ7XHJcbiAgcmVxdWlyZWQ6IFJlcXVpcmVkO1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXF1aXJlc1JlYXNvblNlcnZpY2VJbnRlcmZhY2Uge1xyXG4gIGN1cnJlbnRCYXNrZXRpZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZVJlcXVpcmVzUmVhc29uU2VydmljZVxyXG4gIGltcGxlbWVudHMgUmVxdWlyZXNSZWFzb25TZXJ2aWNlSW50ZXJmYWNlXHJcbntcclxuICBwdWJsaWMgY3VycmVudEJhc2tldGlkOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSB3b3JraW5nT246IFJlcXVpcmVzUmVhc29uVHlwZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogQmFzZU1vZGFsT3BlbmVyU2VydmljZSxcclxuICAgIHByaXZhdGUgYmFza2V0U2VydmljZTogRW50ZXJwcmlzZUJhc2tldFNlcnZpY2VJbnRlcmZhY2VcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIGFkZEJhc2tldEl0ZW0oYmFza2V0OiBVc2VyQmFza2V0UmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoYmFza2V0LmlkICE9PSB0aGlzLmN1cnJlbnRCYXNrZXRpZCB8fCB0aGlzLndvcmtpbmdPbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYmFza2V0SXRlbXMgPSBiYXNrZXQuYmFza2V0SXRlbXMuZmlsdGVyKChiaTogQmFza2V0SXRlbSkgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIGJpLnJlcXVpcmVzUmVhc29uICYmXHJcbiAgICAgICAgYmkubWFuYWdlbWVudEluZm8uZmlsdGVyKChtaTogTWFuYWdlbWVudEluZm8pID0+IHtcclxuICAgICAgICAgIHJldHVybiBtaS5yZWFzb24gJiYgbWkuc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID09PSAwO1xyXG4gICAgICAgIH0pLmxlbmd0aCAhPT0gMFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGJhc2tldEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy53b3JraW5nT24gPSB7XHJcbiAgICAgICAgYmFza2V0LFxyXG4gICAgICAgIHJlcXVpcmVkOiBiYXNrZXRJdGVtcy5yZWR1Y2UoKHJlcXVpcmVkOiBSZXF1aXJlZCwgYmk6IEJhc2tldEl0ZW0pID0+IHtcclxuICAgICAgICAgIHJlcXVpcmVkW2JpLmlkXSA9IGJpLm1hbmFnZW1lbnRJbmZvLmZpbHRlcigobWk6IE1hbmFnZW1lbnRJbmZvKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBtaS5yZWFzb24gJiYgbWkuc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID09PSAwO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4gcmVxdWlyZWQ7XHJcbiAgICAgICAgfSwge30pXHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihcclxuICAgICAgICBNb2RhbFR5cGVzLlJlcXVpcmVzUmVhc29uRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIHsgYmFja2Ryb3A6ICdzdGF0aWMnIH0sXHJcbiAgICAgICAgdGhpcy53b3JraW5nT25cclxuICAgICAgKTtcclxuICAgICAgaWYgKHJlc3VsdHMpIHtcclxuICAgICAgICB0aGlzLndvcmtpbmdPbi5iYXNrZXQuYmFza2V0SXRlbXMuZm9yRWFjaCgoYmk6IEJhc2tldEl0ZW0pID0+IHtcclxuICAgICAgICAgIChiaS5tYW5hZ2VtZW50SW5mbyB8fCBbXSkuZm9yRWFjaCgobWk6IE1hbmFnZW1lbnRJbmZvKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHRzW21pLmlkXSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuYmFza2V0U2VydmljZS5zZXRNaVNlbGVjdGVkVmFsdWUoXHJcbiAgICAgICAgICAgICAgICB0aGlzLndvcmtpbmdPbi5iYXNrZXQuaWQsXHJcbiAgICAgICAgICAgICAgICBtaSxcclxuICAgICAgICAgICAgICAgIHJlc3VsdHNbbWkuaWRdLFxyXG4gICAgICAgICAgICAgICAgbnVsbFxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMud29ya2luZ09uLnJlcXVpcmVkKS5mb3JFYWNoKFxyXG4gICAgICAgICAgKFtiaUlkLCBtaXNdOiBbc3RyaW5nLCBNYW5hZ2VtZW50SW5mb1tdXSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmJhc2tldFNlcnZpY2UucmVtb3ZlQmFza2V0SXRlbShcclxuICAgICAgICAgICAgICB0aGlzLndvcmtpbmdPbi5iYXNrZXQuaWQsXHJcbiAgICAgICAgICAgICAgdGhpcy53b3JraW5nT24uYmFza2V0LmJhc2tldEl0ZW1zLmZpbmQoXHJcbiAgICAgICAgICAgICAgICAoYmk6IEJhc2tldEl0ZW0pID0+IGJpLmlkID09PSBiaUlkXHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy53b3JraW5nT24gPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZXMtcmVhc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYnRzZXJ2aWNlcy9iYXNlL3NyYy9saWIvdmVuZG9yL3NlcnZpY2VzL3JlcXVpcmVzLXJlYXNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFlekQsTUFBTSxPQUFPLHlCQUF5QjtJQU1wQyxZQUNVLFlBQW9DLEVBQ3BDLGFBQStDO1FBRC9DLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0M7SUFDdEQsQ0FBQztJQUVFLGFBQWEsQ0FBQyxNQUF3Qjs7WUFDMUMsSUFBSSxNQUFNLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDeEQsT0FBTzthQUNSO1lBRUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFjLEVBQUUsRUFBRTtnQkFDL0QsT0FBTyxDQUNMLEVBQUUsQ0FBQyxjQUFjO29CQUNqQixFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQWtCLEVBQUUsRUFBRTt3QkFDOUMsT0FBTyxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztvQkFDckQsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FDaEIsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRztvQkFDZixNQUFNO29CQUNOLFFBQVEsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFjLEVBQUUsRUFBRTt3QkFDbEUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQWtCLEVBQUUsRUFBRTs0QkFDaEUsT0FBTyxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQzt3QkFDckQsQ0FBQyxDQUFDLENBQUM7d0JBQ0gsT0FBTyxRQUFRLENBQUM7b0JBQ2xCLENBQUMsRUFBRSxFQUFFLENBQUM7aUJBQ1AsQ0FBQztnQkFFRixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUMxQyxVQUFVLENBQUMsNkJBQTZCLEVBQ3hDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUN0QixJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7Z0JBQ0YsSUFBSSxPQUFPLEVBQUU7b0JBQ1gsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFjLEVBQUUsRUFBRTt3QkFDdkQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNoQixDQUFDLEVBQUUsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUMzQixDQUFDLEVBQWtCLEVBQWlCLEVBQUU7NEJBQ3BDLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQ0FDbEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQ3hCLEVBQUUsRUFDRixPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUNkLElBQUksQ0FDTCxDQUFDOzZCQUNIO2lDQUFNO2dDQUNMLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDOzZCQUMxQjt3QkFDSCxDQUFDLENBQ0YsQ0FDRixDQUFDO29CQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7b0JBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7aUJBQ3ZCO3FCQUFNO29CQUNMLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUN6QyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBNkIsRUFBaUIsRUFBRTt3QkFDekQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3BDLENBQUMsRUFBYyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksQ0FDbkMsQ0FDRixDQUFDO29CQUNKLENBQUMsQ0FDRixDQUNGLENBQUM7b0JBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7aUJBQ3ZCO2FBQ0Y7UUFDSCxDQUFDO0tBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RhbE9wZW5lclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLW9wZW5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFza2V0SXRlbSwgTWFuYWdlbWVudEluZm8gfSBmcm9tICcuLi90eXBlcy9ncmFwaHFsLnR5cGVzJztcclxuaW1wb3J0IHsgTW9kYWxUeXBlcyB9IGZyb20gJy4uL2NsYXNzZXMvbW9kYWwtdHlwZXMuZW51bSc7XHJcbmltcG9ydCB7IFVzZXJCYXNrZXRSZXN1bHQgfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XHJcbmltcG9ydCB7IEVudGVycHJpc2VCYXNrZXRTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JZW50ZXJwcmlzZS1iYXNrZXQuc2VydmljZSc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgdHlwZSBSZXF1aXJlZCA9IFJlY29yZDxzdHJpbmcsIE1hbmFnZW1lbnRJbmZvW10+O1xyXG5leHBvcnQgdHlwZSBSZXF1aXJlc1JlYXNvblR5cGUgPSB7XHJcbiAgYmFza2V0OiBVc2VyQmFza2V0UmVzdWx0O1xyXG4gIHJlcXVpcmVkOiBSZXF1aXJlZDtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWlyZXNSZWFzb25TZXJ2aWNlSW50ZXJmYWNlIHtcclxuICBjdXJyZW50QmFza2V0aWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEJhc2VSZXF1aXJlc1JlYXNvblNlcnZpY2VcclxuICBpbXBsZW1lbnRzIFJlcXVpcmVzUmVhc29uU2VydmljZUludGVyZmFjZVxyXG57XHJcbiAgcHVibGljIGN1cnJlbnRCYXNrZXRpZDogc3RyaW5nO1xyXG4gIHByaXZhdGUgd29ya2luZ09uOiBSZXF1aXJlc1JlYXNvblR5cGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJhc2VNb2RhbE9wZW5lclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGJhc2tldFNlcnZpY2U6IEVudGVycHJpc2VCYXNrZXRTZXJ2aWNlSW50ZXJmYWNlXHJcbiAgKSB7fVxyXG5cclxuICBhc3luYyBhZGRCYXNrZXRJdGVtKGJhc2tldDogVXNlckJhc2tldFJlc3VsdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKGJhc2tldC5pZCAhPT0gdGhpcy5jdXJyZW50QmFza2V0aWQgfHwgdGhpcy53b3JraW5nT24pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJhc2tldEl0ZW1zID0gYmFza2V0LmJhc2tldEl0ZW1zLmZpbHRlcigoYmk6IEJhc2tldEl0ZW0pID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICBiaS5yZXF1aXJlc1JlYXNvbiAmJlxyXG4gICAgICAgIGJpLm1hbmFnZW1lbnRJbmZvLmZpbHRlcigobWk6IE1hbmFnZW1lbnRJbmZvKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gbWkucmVhc29uICYmIG1pLnNlbGVjdGVkVmFsdWVzLmxlbmd0aCA9PT0gMDtcclxuICAgICAgICB9KS5sZW5ndGggIT09IDBcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChiYXNrZXRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMud29ya2luZ09uID0ge1xyXG4gICAgICAgIGJhc2tldCxcclxuICAgICAgICByZXF1aXJlZDogYmFza2V0SXRlbXMucmVkdWNlKChyZXF1aXJlZDogUmVxdWlyZWQsIGJpOiBCYXNrZXRJdGVtKSA9PiB7XHJcbiAgICAgICAgICByZXF1aXJlZFtiaS5pZF0gPSBiaS5tYW5hZ2VtZW50SW5mby5maWx0ZXIoKG1pOiBNYW5hZ2VtZW50SW5mbykgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbWkucmVhc29uICYmIG1pLnNlbGVjdGVkVmFsdWVzLmxlbmd0aCA9PT0gMDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIHJlcXVpcmVkO1xyXG4gICAgICAgIH0sIHt9KVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oXHJcbiAgICAgICAgTW9kYWxUeXBlcy5SZXF1aXJlc1JlYXNvbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICB7IGJhY2tkcm9wOiAnc3RhdGljJyB9LFxyXG4gICAgICAgIHRoaXMud29ya2luZ09uXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChyZXN1bHRzKSB7XHJcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgICAgICB0aGlzLndvcmtpbmdPbi5iYXNrZXQuYmFza2V0SXRlbXMubWFwKChiaTogQmFza2V0SXRlbSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoXHJcbiAgICAgICAgICAgICAgKGJpLm1hbmFnZW1lbnRJbmZvIHx8IFtdKS5tYXAoXHJcbiAgICAgICAgICAgICAgICAobWk6IE1hbmFnZW1lbnRJbmZvKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHRzW21pLmlkXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2tldFNlcnZpY2Uuc2V0TWlTZWxlY3RlZFZhbHVlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy53b3JraW5nT24uYmFza2V0LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbWksXHJcbiAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzW21pLmlkXSxcclxuICAgICAgICAgICAgICAgICAgICAgIG51bGxcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLndvcmtpbmdPbiA9IG51bGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgICAgICBPYmplY3QuZW50cmllcyh0aGlzLndvcmtpbmdPbi5yZXF1aXJlZCkubWFwKFxyXG4gICAgICAgICAgICAoW2JpSWQsIG1pc106IFtzdHJpbmcsIE1hbmFnZW1lbnRJbmZvW11dKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFza2V0U2VydmljZS5yZW1vdmVCYXNrZXRJdGVtKFxyXG4gICAgICAgICAgICAgICAgdGhpcy53b3JraW5nT24uYmFza2V0LmlkLFxyXG4gICAgICAgICAgICAgICAgdGhpcy53b3JraW5nT24uYmFza2V0LmJhc2tldEl0ZW1zLmZpbmQoXHJcbiAgICAgICAgICAgICAgICAgIChiaTogQmFza2V0SXRlbSkgPT4gYmkuaWQgPT09IGJpSWRcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLndvcmtpbmdPbiA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19