ng-easycommerce 0.0.632 → 0.0.634

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 (31) hide show
  1. package/README.md +5 -0
  2. package/assets/ec-i18n/ct.json +3 -1
  3. package/assets/ec-i18n/en.json +3 -1
  4. package/assets/ec-i18n/es.json +6 -4
  5. package/assets/ec-i18n/fr.json +3 -1
  6. package/assets/ec-i18n/gl.json +3 -1
  7. package/assets/ec-i18n/pr.json +3 -1
  8. package/bundles/ng-easycommerce.umd.js +21 -16
  9. package/bundles/ng-easycommerce.umd.js.map +1 -1
  10. package/bundles/ng-easycommerce.umd.min.js +1 -1
  11. package/bundles/ng-easycommerce.umd.min.js.map +1 -1
  12. package/esm2015/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.js +3 -3
  13. package/esm2015/lib/ec-component/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.js +3 -3
  14. package/esm2015/lib/ec-component/checkout-ec/success-ec/success-ec.component.js +15 -3
  15. package/esm2015/lib/ec-component/product-detail-ec/product-detail-ec.component.js +4 -3
  16. package/esm2015/lib/services/channel-config.service.js +1 -9
  17. package/esm2015/lib/services/options.service.js +1 -1
  18. package/esm5/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.js +3 -3
  19. package/esm5/lib/ec-component/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.js +3 -3
  20. package/esm5/lib/ec-component/checkout-ec/success-ec/success-ec.component.js +15 -3
  21. package/esm5/lib/ec-component/product-detail-ec/product-detail-ec.component.js +4 -3
  22. package/esm5/lib/services/channel-config.service.js +1 -9
  23. package/esm5/lib/services/options.service.js +1 -1
  24. package/fesm2015/ng-easycommerce.js +21 -16
  25. package/fesm2015/ng-easycommerce.js.map +1 -1
  26. package/fesm5/ng-easycommerce.js +21 -16
  27. package/fesm5/ng-easycommerce.js.map +1 -1
  28. package/lib/ec-component/checkout-ec/success-ec/success-ec.component.d.ts +3 -0
  29. package/lib/services/channel-config.service.d.ts +0 -5
  30. package/ng-easycommerce.metadata.json +1 -1
  31. package/package.json +1 -1
@@ -86,9 +86,10 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
86
86
  _this.plus = function (stock, changeAmount, forceMultiple) {
87
87
  if (changeAmount === void 0) { changeAmount = 1; }
88
88
  if (forceMultiple === void 0) { forceMultiple = false; }
89
- var newQuantity = _this.quantity + changeAmount;
89
+ var currentQuantity = Number(_this.quantity);
90
+ var newQuantity = currentQuantity + changeAmount;
90
91
  if (forceMultiple && changeAmount > 0) {
91
- if (_this.quantity < changeAmount) {
92
+ if (currentQuantity < changeAmount) {
92
93
  newQuantity = changeAmount;
93
94
  }
94
95
  else {
@@ -222,4 +223,4 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
222
223
  return ProductDetailEcComponent;
223
224
  }(ComponentHelper));
224
225
  export { ProductDetailEcComponent };
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0U7SUFBOEMsNENBQWU7SUFrQnpELGtDQUNXLGNBQW9DLEVBQ3BDLE1BQWlCLEVBQ2Qs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Q0FBQyxTQUFTLENBQUM7NkRBQXFCO0lBaEJqQyx3QkFBd0I7UUFOcEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxZQUFpRDtZQUVqRCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs7U0FDcEMsQ0FBQztPQUNXLHdCQUF3QixDQXFLcEM7SUFBRCwrQkFBQztDQUFBLEFBcktELENBQThDLGVBQWUsR0FxSzVEO1NBcktZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RGV0YWlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtZGV0YWlsLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUHJvZHVjdERldGFpbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3REZXRhaWxFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwdWJsaWMgcHJvZHVjdDogYW55O1xuICAgIHB1YmxpYyBtZWRpYVVybDtcbiAgICBwdWJsaWMgc2hvdyA9IGZhbHNlO1xuICAgIHB1YmxpYyBxdWFudGl0eSA9IDE7XG4gICAgcHVibGljIGJyZWFkY3J1bWIgPSBbXTtcbiAgICBwdWJsaWMgY2Fyb3VzZWw6IGFueTtcbiAgICBwdWJsaWMgY29kZSA9IG51bGw7XG4gICAgcHVibGljIGZvY3VzSW1hZ2U6IHN0cmluZyA9IG51bGxcbiAgICBwdWJsaWMgb3dsT3B0aW9ucyA9IHt9XG4gICAgcHVibGljIHNob3dSZXZpZXdzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGhpZGVQcmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY3JlZGl0QWNjb3VudFNob3dQcmljZXM6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgICAgICAgcHVibGljIG9wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEsXG4gICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XG4gICAgICAgIHRoaXMuYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xuICAgICAgICAgICAgbGV0IHZhcmlhbnQ6IGFueSA9ICh0aGlzLmFjdGl2ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgndmFyaWFudCcpKTtcbiAgICAgICAgICAgIGxldCBjb2RlID0gcXVlcnlQYXJhbXMuaWQ7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmxvYWRQcm9kdWN0KGNvZGUsIHZhcmlhbnQpO1xuICAgICAgICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXMuaWRcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXM7XG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCgwLCAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWIgPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEJyZWFkY3J1bWIodGhpcy5wcm9kdWN0LmNhdGVnb3J5KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9kdWN0Lm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aGlzLnByb2R1Y3QubmFtZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiB0aGlzLmRlbGV0ZUhUTUwodGhpcy5wcm9kdWN0LmRlc2NyaXB0aW9uKSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6aW1hZ2UnLCBjb250ZW50OiB0aGlzLmNvbnN0cy5tZWRpYVVybCgpICsgdGhpcy5wcm9kdWN0LnBpY3R1cmVzZGVmYXVsdFswXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dXJsJywgY29udGVudDogd2luZG93LmxvY2F0aW9uLmhyZWYgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5waXBlKGZpbHRlcihkYXRhID0+IGRhdGEgJiYgZGF0YS5pZCAmJiBkYXRhLmlkICE9IDApKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocHJvZHVjdFBhcmFtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgndmlld19pdGVtJywgeyAuLi5wcm9kdWN0UGFyYW0sIGN1cnJlbmN5OiB0aGlzLmNvbnN0cy5jdXJyZW5jeS5jb2RlIH0pXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VJbWdGb2N1cyhwcm9kdWN0UGFyYW0ucGljdHVyZXNkZWZhdWx0WzBdKVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENoYW5uZWxDb25maWdTZXJ2aWNlKS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcbiAgICAgICAgICAgIHRoaXMuaGlkZVByaWNlcyA9IGNoYW5uZWw/LmhpZGVQcmljZXMgPz8gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2Uuc2hvd1ByaWNlJC5zdWJzY3JpYmUoKHNob3dQcmljZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVkaXRBY2NvdW50U2hvd1ByaWNlcyA9IHNob3dQcmljZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG5cbiAgICB9XG5cbiAgICBkZWxldGVIVE1MKGNhZGVuYTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgYnVzY2FyIGV0aXF1ZXRhcyBIVE1MXG4gICAgICAgIGNvbnN0IGV4cHJlc2lvblJlZ3VsYXIgPSAvPFtePl0qPi9nO1xuICAgICAgICAvLyBSZWVtcGxhemEgdG9kYXMgbGFzIGV0aXF1ZXRhcyBIVE1MIHBvciB1bmEgY2FkZW5hIHZhY8OtYVxuICAgICAgICByZXR1cm4gY2FkZW5hLnJlcGxhY2UoZXhwcmVzaW9uUmVndWxhciwgJycpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjT25Jbml0KClcbiAgICB9XG5cbiAgICBhZGRUb0NhcnQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMucXVhbnRpdHkgPiAwICYmIHRoaXMucHJvZHVjdFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMucXVhbnRpdHkpO1xuICAgIH1cblxuICAgIGFkZEFsbFByb2R1Y3Rvc1RvQ2FydCA9ICgpID0+IHtcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudD8uZmlsdGVyKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSkubWFwKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSlcbiAgICAgICAgaXRlbXM/Lmxlbmd0aCAmJiB0aGlzLmNhcnRTZXJ2aWNlLmFkZEFsbFRvQ2FydChpdGVtcylcbiAgICB9XG5cbiAgICBzY3JvbGwoKSB7XG4gICAgICAgIGxldCBlbCA9IHRoaXMuY29udGFjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBlbC5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cblxuICAgIHNhdmVSZWYgPSAoY2Fyb3VzZWwpID0+IHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbCA9IGNhcm91c2VsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBhY3R1YWxpemEgbGEgdmFyaWFibGUgcXVhbnRpdHkgc3VtYW5kb2xlICd4JyBjb250ZW5pZG8uXG4gICAgICogQHBhcmFtIHN0b2NrIG7Dum1lcm8gbcOheGltbyBkaXNwb25pYmxlIGVuIHN0b2NrLlxuICAgICAqIEBwYXJhbSBjaGFuZ2VBbW91bnQgY2FudGlkYWQgcXVlIHNlIHF1aWVyZSBzdW1hci5cbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxuICAgICAqL1xuICAgIHBsdXMgPSAoc3RvY2s/OiBudW1iZXIsIGNoYW5nZUFtb3VudDogbnVtYmVyID0gMSwgZm9yY2VNdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlKSA9PiB7ICAgICAgICBcbiAgICAgICAgbGV0IG5ld1F1YW50aXR5ID0gdGhpcy5xdWFudGl0eSArIGNoYW5nZUFtb3VudDtcblxuICAgICAgICBpZiAoZm9yY2VNdWx0aXBsZSAmJiBjaGFuZ2VBbW91bnQgPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5xdWFudGl0eSA8IGNoYW5nZUFtb3VudCkge1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gY2hhbmdlQW1vdW50O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IE1hdGguY2VpbChuZXdRdWFudGl0eSAvIGNoYW5nZUFtb3VudCkgKiBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdG9jayB8fCBuZXdRdWFudGl0eSA8PSBzdG9jaykge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG5ld1F1YW50aXR5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGFjdHVhbGl6YSBsYSB2YXJpYWJsZSBxdWFudGl0eSByZXN0YW5kb2xlICd4JyBjb250ZW5pZG8uXG4gICAgICogQHBhcmFtIGNoYW5nZUFtb3VudCBjYW50aWRhZCBxdWUgc2UgcXVpZXJlIHJlc3Rhci5cbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxuICAgICAqL1xuICAgIGxlc3MgPSAoY2hhbmdlQW1vdW50OiBudW1iZXIgPSAxLCBtaW5pbXVtOiBudW1iZXIgPSAxLCBmb3JjZU11bHRpcGxlOiBib29sZWFuID0gZmFsc2UpID0+IHtcbiAgICAgICAgbGV0IG5ld1F1YW50aXR5ID0gdGhpcy5xdWFudGl0eSAtIGNoYW5nZUFtb3VudDtcblxuICAgICAgICBpZiAoZm9yY2VNdWx0aXBsZSAmJiBjaGFuZ2VBbW91bnQgPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5xdWFudGl0eSA8PSBjaGFuZ2VBbW91bnQpIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IGNoYW5nZUFtb3VudDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBNYXRoLmZsb29yKG5ld1F1YW50aXR5IC8gY2hhbmdlQW1vdW50KSAqIGNoYW5nZUFtb3VudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG5ld1F1YW50aXR5IDwgY2hhbmdlQW1vdW50KSB7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV3UXVhbnRpdHkgPj0gbWluaW11bSkge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG5ld1F1YW50aXR5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG1pbmltdW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93Q29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IHRydWU7XG4gICAgaGlkZUNvbnRhY3QgPSAoKSA9PiB0aGlzLnNob3cgPSBmYWxzZTtcblxuICAgIHRoZXJlSXNNb3JlSW5mbyA9IChwcm9kdWN0OiBhbnkpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgaWYgKHByb2R1Y3Q/LnNwZWNpYWxfbWFyayAmJiBwcm9kdWN0Py5zcGVjaWFsX21hcmsubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBwcm9kdWN0Py5zcGVjaWFsX21hcms/LmZpbmQoc3BlY2lhbF9tYXJrID0+IHNwZWNpYWxfbWFyay50eXBlID09ICdtb3JlX2luZm8nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGNoYW5nZUltZ0ZvY3VzID0gKGltZykgPT4ge1xuICAgICAgICB0aGlzLmZvY3VzSW1hZ2UgPSBpbWdcbiAgICB9XG59XG4iXX0=
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTN0U7SUFBOEMsNENBQWU7SUFrQnpELGtDQUNXLGNBQW9DLEVBQ3BDLE1BQWlCLEVBQ2Qs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dkIsSUFBSTtnQkFDRCxRQUFROztJQWJQO1FBQXJCLFNBQVMsQ0FBQyxTQUFTLENBQUM7NkRBQXFCO0lBaEJqQyx3QkFBd0I7UUFOcEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxZQUFpRDtZQUVqRCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs7U0FDcEMsQ0FBQztPQUNXLHdCQUF3QixDQXNLcEM7SUFBRCwrQkFBQztDQUFBLEFBdEtELENBQThDLGVBQWUsR0FzSzVEO1NBdEtZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RGV0YWlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtZGV0YWlsLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUHJvZHVjdERldGFpbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3REZXRhaWxFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwdWJsaWMgcHJvZHVjdDogYW55O1xuICAgIHB1YmxpYyBtZWRpYVVybDtcbiAgICBwdWJsaWMgc2hvdyA9IGZhbHNlO1xuICAgIHB1YmxpYyBxdWFudGl0eSA9IDE7XG4gICAgcHVibGljIGJyZWFkY3J1bWIgPSBbXTtcbiAgICBwdWJsaWMgY2Fyb3VzZWw6IGFueTtcbiAgICBwdWJsaWMgY29kZSA9IG51bGw7XG4gICAgcHVibGljIGZvY3VzSW1hZ2U6IHN0cmluZyA9IG51bGxcbiAgICBwdWJsaWMgb3dsT3B0aW9ucyA9IHt9XG4gICAgcHVibGljIHNob3dSZXZpZXdzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGhpZGVQcmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY3JlZGl0QWNjb3VudFNob3dQcmljZXM6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgICAgICAgcHVibGljIG9wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEsXG4gICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XG4gICAgICAgIHRoaXMuYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xuICAgICAgICAgICAgbGV0IHZhcmlhbnQ6IGFueSA9ICh0aGlzLmFjdGl2ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgndmFyaWFudCcpKTtcbiAgICAgICAgICAgIGxldCBjb2RlID0gcXVlcnlQYXJhbXMuaWQ7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmxvYWRQcm9kdWN0KGNvZGUsIHZhcmlhbnQpO1xuICAgICAgICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXMuaWRcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXM7XG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCgwLCAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWIgPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEJyZWFkY3J1bWIodGhpcy5wcm9kdWN0LmNhdGVnb3J5KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9kdWN0Lm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aGlzLnByb2R1Y3QubmFtZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiB0aGlzLmRlbGV0ZUhUTUwodGhpcy5wcm9kdWN0LmRlc2NyaXB0aW9uKSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6aW1hZ2UnLCBjb250ZW50OiB0aGlzLmNvbnN0cy5tZWRpYVVybCgpICsgdGhpcy5wcm9kdWN0LnBpY3R1cmVzZGVmYXVsdFswXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dXJsJywgY29udGVudDogd2luZG93LmxvY2F0aW9uLmhyZWYgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5waXBlKGZpbHRlcihkYXRhID0+IGRhdGEgJiYgZGF0YS5pZCAmJiBkYXRhLmlkICE9IDApKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocHJvZHVjdFBhcmFtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgndmlld19pdGVtJywgeyAuLi5wcm9kdWN0UGFyYW0sIGN1cnJlbmN5OiB0aGlzLmNvbnN0cy5jdXJyZW5jeS5jb2RlIH0pXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VJbWdGb2N1cyhwcm9kdWN0UGFyYW0ucGljdHVyZXNkZWZhdWx0WzBdKVxuICAgICAgICAgICAgfVxuICAgICAgICApXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENoYW5uZWxDb25maWdTZXJ2aWNlKS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcbiAgICAgICAgICAgIHRoaXMuaGlkZVByaWNlcyA9IGNoYW5uZWw/LmhpZGVQcmljZXMgPz8gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2Uuc2hvd1ByaWNlJC5zdWJzY3JpYmUoKHNob3dQcmljZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVkaXRBY2NvdW50U2hvd1ByaWNlcyA9IHNob3dQcmljZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG5cbiAgICB9XG5cbiAgICBkZWxldGVIVE1MKGNhZGVuYTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgYnVzY2FyIGV0aXF1ZXRhcyBIVE1MXG4gICAgICAgIGNvbnN0IGV4cHJlc2lvblJlZ3VsYXIgPSAvPFtePl0qPi9nO1xuICAgICAgICAvLyBSZWVtcGxhemEgdG9kYXMgbGFzIGV0aXF1ZXRhcyBIVE1MIHBvciB1bmEgY2FkZW5hIHZhY8OtYVxuICAgICAgICByZXR1cm4gY2FkZW5hLnJlcGxhY2UoZXhwcmVzaW9uUmVndWxhciwgJycpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjT25Jbml0KClcbiAgICB9XG5cbiAgICBhZGRUb0NhcnQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMucXVhbnRpdHkgPiAwICYmIHRoaXMucHJvZHVjdFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMucXVhbnRpdHkpO1xuICAgIH1cblxuICAgIGFkZEFsbFByb2R1Y3Rvc1RvQ2FydCA9ICgpID0+IHtcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudD8uZmlsdGVyKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSkubWFwKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSlcbiAgICAgICAgaXRlbXM/Lmxlbmd0aCAmJiB0aGlzLmNhcnRTZXJ2aWNlLmFkZEFsbFRvQ2FydChpdGVtcylcbiAgICB9XG5cbiAgICBzY3JvbGwoKSB7XG4gICAgICAgIGxldCBlbCA9IHRoaXMuY29udGFjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBlbC5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cblxuICAgIHNhdmVSZWYgPSAoY2Fyb3VzZWwpID0+IHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbCA9IGNhcm91c2VsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBhY3R1YWxpemEgbGEgdmFyaWFibGUgcXVhbnRpdHkgc3VtYW5kb2xlICd4JyBjb250ZW5pZG8uXG4gICAgICogQHBhcmFtIHN0b2NrIG7Dum1lcm8gbcOheGltbyBkaXNwb25pYmxlIGVuIHN0b2NrLlxuICAgICAqIEBwYXJhbSBjaGFuZ2VBbW91bnQgY2FudGlkYWQgcXVlIHNlIHF1aWVyZSBzdW1hci5cbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxuICAgICAqL1xuICAgIHBsdXMgPSAoc3RvY2s/OiBudW1iZXIsIGNoYW5nZUFtb3VudDogbnVtYmVyID0gMSwgZm9yY2VNdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlKSA9PiB7ICAgICAgXG4gICAgICAgIGxldCBjdXJyZW50UXVhbnRpdHkgPSBOdW1iZXIodGhpcy5xdWFudGl0eSk7ICAgICAgICAgIFxuICAgICAgICBsZXQgbmV3UXVhbnRpdHkgPSBjdXJyZW50UXVhbnRpdHkgKyBjaGFuZ2VBbW91bnQ7ICAgICAgICBcblxuICAgICAgICBpZiAoZm9yY2VNdWx0aXBsZSAmJiBjaGFuZ2VBbW91bnQgPiAwKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudFF1YW50aXR5IDwgY2hhbmdlQW1vdW50KSB7XG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBjaGFuZ2VBbW91bnQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gTWF0aC5jZWlsKG5ld1F1YW50aXR5IC8gY2hhbmdlQW1vdW50KSAqIGNoYW5nZUFtb3VudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXN0b2NrIHx8IG5ld1F1YW50aXR5IDw9IHN0b2NrKSB7XG4gICAgICAgICAgICB0aGlzLnF1YW50aXR5ID0gbmV3UXVhbnRpdHk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrLWFjdHVhbGx5Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gYWN0dWFsaXphIGxhIHZhcmlhYmxlIHF1YW50aXR5IHJlc3RhbmRvbGUgJ3gnIGNvbnRlbmlkby5cbiAgICAgKiBAcGFyYW0gY2hhbmdlQW1vdW50IGNhbnRpZGFkIHF1ZSBzZSBxdWllcmUgcmVzdGFyLlxuICAgICAqIEBwYXJhbSBmb3JjZU11bHRpcGxlIHNpIGVzIHRydWUsIG9ibGlnYSBhIHF1ZSBlbCByZXN1bHRhZG8gc2VhIG3Dumx0aXBsbyBkZSBjaGFuZ2VBbW91bnQuXG4gICAgICovXG4gICAgbGVzcyA9IChjaGFuZ2VBbW91bnQ6IG51bWJlciA9IDEsIG1pbmltdW06IG51bWJlciA9IDEsIGZvcmNlTXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xuICAgICAgICBsZXQgbmV3UXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5IC0gY2hhbmdlQW1vdW50O1xuXG4gICAgICAgIGlmIChmb3JjZU11bHRpcGxlICYmIGNoYW5nZUFtb3VudCA+IDApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnF1YW50aXR5IDw9IGNoYW5nZUFtb3VudCkge1xuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gY2hhbmdlQW1vdW50O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IE1hdGguZmxvb3IobmV3UXVhbnRpdHkgLyBjaGFuZ2VBbW91bnQpICogY2hhbmdlQW1vdW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobmV3UXVhbnRpdHkgPCBjaGFuZ2VBbW91bnQpIHtcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IGNoYW5nZUFtb3VudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXdRdWFudGl0eSA+PSBtaW5pbXVtKSB7XG4gICAgICAgICAgICB0aGlzLnF1YW50aXR5ID0gbmV3UXVhbnRpdHk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnF1YW50aXR5ID0gbWluaW11bTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dDb250YWN0ID0gKCkgPT4gdGhpcy5zaG93ID0gdHJ1ZTtcbiAgICBoaWRlQ29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IGZhbHNlO1xuXG4gICAgdGhlcmVJc01vcmVJbmZvID0gKHByb2R1Y3Q6IGFueSkgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICBpZiAocHJvZHVjdD8uc3BlY2lhbF9tYXJrICYmIHByb2R1Y3Q/LnNwZWNpYWxfbWFyay5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHByb2R1Y3Q/LnNwZWNpYWxfbWFyaz8uZmluZChzcGVjaWFsX21hcmsgPT4gc3BlY2lhbF9tYXJrLnR5cGUgPT0gJ21vcmVfaW5mbycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgY2hhbmdlSW1nRm9jdXMgPSAoaW1nKSA9PiB7XG4gICAgICAgIHRoaXMuZm9jdXNJbWFnZSA9IGltZ1xuICAgIH1cbn1cbiJdfQ==
@@ -88,14 +88,6 @@ var ChannelConfigService = /** @class */ (function () {
88
88
  this.getChannels();
89
89
  this.getLocales();
90
90
  }
91
- /**
92
- * @description Devuelve si se deben mostrar precios con impuestos durante la navegación.
93
- * @returns {boolean | null} true/false si está definido, null si aún no hay configuración
94
- */
95
- ChannelConfigService.prototype.getShowPricesWithTaxes = function () {
96
- var _a, _b;
97
- return _b = (_a = this.channel) === null || _a === void 0 ? void 0 : _a.showPriceWithTaxesWhileBrowsing, (_b !== null && _b !== void 0 ? _b : null);
98
- };
99
91
  ChannelConfigService.ctorParameters = function () { return [
100
92
  { type: Constants },
101
93
  { type: undefined, decorators: [{ type: Inject, args: ['env',] }] },
@@ -112,4 +104,4 @@ var ChannelConfigService = /** @class */ (function () {
112
104
  return ChannelConfigService;
113
105
  }());
114
106
  export { ChannelConfigService };
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jaGFubmVsLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUszQztJQUVJLDhCQUFvQixNQUFpQixFQUF5QixHQUFHLEVBQVUsVUFBNkIsRUFBVSxRQUFrQjtRQUFwSSxpQkFJQztRQUptQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQXlCLFFBQUcsR0FBSCxHQUFHLENBQUE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFNNUgscUJBQWdCLEdBQUcsY0FBTSxPQUFBLFdBQVcsR0FBRyxLQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLFVBQVUsRUFBbkQsQ0FBbUQsQ0FBQTtRQUM1RSxlQUFVLEdBQUcsY0FBTSxPQUFBLFdBQVcsR0FBRyxLQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLFVBQVUsRUFBbkQsQ0FBbUQsQ0FBQTtRQUN0RSxnQkFBVyxHQUFHLGNBQU0sT0FBQSxtQkFBbUIsRUFBbkIsQ0FBbUIsQ0FBQTtRQUV2Qyx5QkFBb0IsR0FBRyxJQUFJLGFBQWEsRUFBTyxDQUFBO1FBQ2hELG1CQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixD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O1FBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBK0VEOzs7T0FHRztJQUNJLHFEQUFzQixHQUE3Qjs7UUFDSSxrQkFBTyxJQUFJLENBQUMsT0FBTywwQ0FBRSwrQkFBK0IsdUNBQUksSUFBSSxFQUFDO0lBQ2pFLENBQUM7O2dCQXpGMkIsU0FBUztnREFBRyxNQUFNLFNBQUMsS0FBSztnQkFBbUMsaUJBQWlCO2dCQUFvQixRQUFROzs7SUFGM0gsb0JBQW9CO1FBSGhDLFVBQVUsQ0FBQztZQUNSLFVBQVUsRUFBRSxNQUFNO1NBQ3JCLENBQUM7UUFHMEMsV0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7T0FGNUMsb0JBQW9CLENBNEZoQzsrQkF0R0Q7Q0FzR0MsQUE1RkQsSUE0RkM7U0E1Rlksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2Nvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBZGRyZXNzaW5nU2VydmljZSB9IGZyb20gJy4vY2hlY2tvdXQvYWRkcmVzc2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uL2NvcmUuY29uc3RzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGFubmVsQ29uZmlnU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnN0czogQ29uc3RhbnRzLCBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudiwgcHJpdmF0ZSBjb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgdGhpcy5nZXRDaGFubmVsQ29uZmlnKClcbiAgICAgICAgdGhpcy5nZXRDaGFubmVscygpXG4gICAgICAgIHRoaXMuZ2V0TG9jYWxlcygpXG4gICAgfVxuICAgIHB1YmxpYyBjaGFubmVsVHlwZTtcbiAgICBwcml2YXRlIGNoYW5uZWxDb25maWdBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvY2hhbm5lbCdcbiAgICBwcml2YXRlIGxvY2FsZXNBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvbG9jYWxlcydcbiAgICBwcml2YXRlIGNoYW5uZWxzQXBpID0gKCkgPT4gJ3Nob3AtYXBpL2NoYW5uZWxzJ1xuXG4gICAgcHJpdmF0ZSBjaGFubmVsQ29uZmlnU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oKVxuICAgIHB1YmxpYyBjaGFubmVsQ29uZmlnJCA9IHRoaXMuY2hhbm5lbENvbmZpZ1N1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICBwcml2YXRlIGNoYW5uZWw6YW55O1xuXG4gICAgcHJpdmF0ZSBjaGFubmVsc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSlcbiAgICBwdWJsaWMgY2hhbm5lbHMgPSB0aGlzLmNoYW5uZWxzU3ViamVjdC5hc09ic2VydmFibGUoKVxuXG4gICAgcHJpdmF0ZSBsb2NhbGVzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKVxuICAgIHB1YmxpYyBsb2NhbGVzID0gdGhpcy5sb2NhbGVzU3ViamVjdC5hc09ic2VydmFibGUoKVxuXG4gICAgcHVibGljIGdldENoYW5uZWxDb25maWcgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi5nZXQodGhpcy5jaGFubmVsQ29uZmlnQXBpKCkpLnRvUHJvbWlzZSgpLnRoZW4oXG4gICAgICAgICAgICByZXMgPT4geyB0aGlzLmNoYW5uZWxDb25maWdTdWJqZWN0Lm5leHQocmVzKSwgcmVzICYmIHRoaXMuc2V0Q2hhbm5lbEluZm8ocmVzKSwgdGhpcy5jaGFubmVsVHlwZSA9IHJlcy50eXBlIH0sXG4gICAgICAgICAgICBlcnIgPT4gdGhpcy5jaGFubmVsQ29uZmlnU3ViamVjdC5uZXh0KHt9KVxuICAgICAgICApLmNhdGNoKGVyciA9PiB0aGlzLmNoYW5uZWxDb25maWdTdWJqZWN0Lm5leHQobnVsbCkpXG4gICAgfVxuXG4gICAgcHVibGljIGdldENoYW5uZWxzID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuY2hhbm5lbHNBcGkoKSkudG9Qcm9taXNlKClcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB0aGlzLmNoYW5uZWxzU3ViamVjdC5uZXh0KHJlcykpXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IHRoaXMuY2hhbm5lbHNTdWJqZWN0Lm5leHQoW10pKVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY3RpdmVDaGFubmVsID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGFubmVsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMb2NhbGVzID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMubG9jYWxlc0FwaSgpKS50b1Byb21pc2UoKVxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHRoaXMubG9jYWxlc1N1YmplY3QubmV4dChyZXMuaXRlbXMpKVxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB0aGlzLmxvY2FsZXNTdWJqZWN0Lm5leHQoW10pKVxuICAgIH1cblxuICAgIHB1YmxpYyBjaGFuZ2VDaGFubmVsID0gY2hhbm5lbE9iaiA9PiB7XG4gICAgICAgIHRoaXMuY29uc3RzLm1vZGlmeUNoYW5uZWxDb25maWcoe1xuICAgICAgICAgICAgY2hhbm5lbDogY2hhbm5lbE9iai5jb2RlLFxuICAgICAgICAgICAgY3VycmVuY3k6IGNoYW5uZWxPYmouYmFzZUN1cnJlbmN5LFxuICAgICAgICAgICAgbG9jYWxlOiBjaGFubmVsT2JqLmxvY2FsZXMuY29kZVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLmluamVjdG9yLmdldChBZGRyZXNzaW5nU2VydmljZSkuc2V0VHlwZVNlbGVjdEFkZHJlc3MoY2hhbm5lbE9iai5oZWFkcXVhcnRlclNlbGVjdGlvbk9ubHkgfHwgJ0xPQURfQUREUkVTU19BTkRfU0VMRUNUSU9OJylcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q2hhbm5lbEluZm8gPSBjaGFubmVsT2JqID0+IHtcbiAgICAgICAgdGhpcy5jb25zdHMuc2V0Q2hhbm5lbChjaGFubmVsT2JqLmNvZGUpXG4gICAgICAgIHRoaXMuY29uc3RzLnNldEN1cnJlbmN5KGNoYW5uZWxPYmouYmFzZUN1cnJlbmN5KVxuICAgICAgICB0aGlzLmNoYW5uZWwgPSBjaGFubmVsT2JqXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KEFkZHJlc3NpbmdTZXJ2aWNlKS5zZXRUeXBlU2VsZWN0QWRkcmVzcyhjaGFubmVsT2JqLmhlYWRxdWFydGVyU2VsZWN0aW9uT25seSB8fCAnTE9BRF9BRERSRVNTX0FORF9TRUxFQ1RJT04nKVxuICAgIH1cbiAgICBcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gY2FtYmlhbiBkZSBjYW5hbCBzZWd1biBlbCBob3N0bmFtZSBxdWUgcmVjaWJlIHBvciBwYXJhbWV0cm8uXG4gICAgICogQHdhcm5pbmcgIGVzdGEgZnVuY2lvbiBlcyB1dGlsIHBhcmEgZWwgY2FzbyBlbiBxdWUgc2UgbmVjZXNpdGUgbWFuZWphciB1cmwgZGlzdGludGFzLCBcbiAgICAgKiBjYWRhIHVuYSBjb24gc3UgY29uZmlndXJhY2nDs24gZGUgY2FuYWwsIHBlcm8gdXRpbGl6YW5kbyBlbCBtaXNtbyBmcm9udGVuZC4gXG4gICAgICogRW4gY3VhbHF1aWVyIG90cm8gY2FzbywgdXRpbGl6YXIgbGFzIGRlbWFzIGhlcnJhbWllbnRhcy5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gaG9zdG5hbWUgaG9zdG5hbWUgZGVsIGNhbmFsIHF1ZSBzZSByZXF1aWVyZSB1dGlsaXphci5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hhbmdlQ2hhbm5lbEJ5SG9zdG5hbWUgPSAoaG9zdG5hbWU6c3RyaW5nKSA9PiB7XG4gICAgICAgIC8vY29uc29sZS5sb2codGhpcy5jaGFubmVsc1N1YmplY3QuZ2V0VmFsdWUoKSlcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmNoYW5uZWxzQXBpKCkpLnRvUHJvbWlzZSgpLnRoZW4oIHJlcyA9PiB7XG4gICAgICAgICAgICBsZXQgY2hhbm5lbCA9IHJlcy5maWx0ZXIoZWxlbSA9PiBlbGVtLmhvc3RuYW1lID09IGhvc3RuYW1lKVxuICAgICAgICAgICAgaWYoY2hhbm5lbCl7XG4gICAgICAgICAgICAgICAgaWYgKGNoYW5uZWxbMF0uY29kZSAhPSB0aGlzLmNvbnN0cy5nZXRDaGFubmVsKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coY2hhbm5lbFswXSlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VDaGFubmVsKGNoYW5uZWxbMF0pXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uLmhyZWZcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkVsIGhvc3RuYW1lIG5vIGNvaW5jaWRlIGNvbiBuaW5ndW5vIHF1ZSB2ZW5nYSBlbiBsb3MgY2FuYWxlc1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLy9yZXR1cm4gY2hhbm5lbFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZXZ1ZWx2ZSBzaSBzZSBkZWJlbiBtb3N0cmFyIHByZWNpb3MgY29uIGltcHVlc3RvcyBkdXJhbnRlIGxhIG5hdmVnYWNpw7NuLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFuIHwgbnVsbH0gdHJ1ZS9mYWxzZSBzaSBlc3TDoSBkZWZpbmlkbywgbnVsbCBzaSBhw7puIG5vIGhheSBjb25maWd1cmFjacOzblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTaG93UHJpY2VzV2l0aFRheGVzKCk6IGJvb2xlYW4gfCBudWxsIHsgICAgICAgIFxuICAgICAgICByZXR1cm4gdGhpcy5jaGFubmVsPy5zaG93UHJpY2VXaXRoVGF4ZXNXaGlsZUJyb3dzaW5nID8/IG51bGw7XG4gICAgfVxufVxuXG4iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jaGFubmVsLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUszQztJQUVJLDhCQUFvQixNQUFpQixFQUF5QixHQUFHLEVBQVUsVUFBNkIsRUFBVSxRQUFrQjtRQUFwSSxpQkFJQztRQUptQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQXlCLFFBQUcsR0FBSCxHQUFHLENBQUE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFNNUgscUJBQWdCLEdBQUcsY0FBTSxPQUFBLFdBQVcsR0FBRyxLQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLFVBQVUsRUFBbkQsQ0FBbUQsQ0FBQTtRQUM1RSxlQUFVLEdBQUcsY0FBTSxPQUFBLFdBQVcsR0FBRyxLQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLFVBQVUsRUFBbkQsQ0FBbUQsQ0FBQTtRQUN0RSxnQkFBVyxHQUFHLGNBQU0sT0FBQSxtQkFBbUIsRUFBbkIsQ0FBbUIsQ0FBQTtRQUV2Qyx5QkFBb0IsR0FBRyxJQUFJLGFBQWEsRUFBTyxDQUFBO1FBQ2hELG1CQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixD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O1FBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNyQixDQUFDOztnQkFKMkIsU0FBUztnREFBRyxNQUFNLFNBQUMsS0FBSztnQkFBbUMsaUJBQWlCO2dCQUFvQixRQUFROzs7SUFGM0gsb0JBQW9CO1FBSGhDLFVBQVUsQ0FBQztZQUNSLFVBQVUsRUFBRSxNQUFNO1NBQ3JCLENBQUM7UUFHMEMsV0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7T0FGNUMsb0JBQW9CLENBb0ZoQzsrQkE5RkQ7Q0E4RkMsQUFwRkQsSUFvRkM7U0FwRlksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2Nvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBZGRyZXNzaW5nU2VydmljZSB9IGZyb20gJy4vY2hlY2tvdXQvYWRkcmVzc2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uL2NvcmUuY29uc3RzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGFubmVsQ29uZmlnU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnN0czogQ29uc3RhbnRzLCBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudiwgcHJpdmF0ZSBjb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgdGhpcy5nZXRDaGFubmVsQ29uZmlnKClcbiAgICAgICAgdGhpcy5nZXRDaGFubmVscygpXG4gICAgICAgIHRoaXMuZ2V0TG9jYWxlcygpXG4gICAgfVxuICAgIHB1YmxpYyBjaGFubmVsVHlwZTtcbiAgICBwcml2YXRlIGNoYW5uZWxDb25maWdBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvY2hhbm5lbCdcbiAgICBwcml2YXRlIGxvY2FsZXNBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvbG9jYWxlcydcbiAgICBwcml2YXRlIGNoYW5uZWxzQXBpID0gKCkgPT4gJ3Nob3AtYXBpL2NoYW5uZWxzJ1xuXG4gICAgcHJpdmF0ZSBjaGFubmVsQ29uZmlnU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oKVxuICAgIHB1YmxpYyBjaGFubmVsQ29uZmlnJCA9IHRoaXMuY2hhbm5lbENvbmZpZ1N1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICBwcml2YXRlIGNoYW5uZWw6YW55O1xuXG4gICAgcHJpdmF0ZSBjaGFubmVsc1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSlcbiAgICBwdWJsaWMgY2hhbm5lbHMgPSB0aGlzLmNoYW5uZWxzU3ViamVjdC5hc09ic2VydmFibGUoKVxuXG4gICAgcHJpdmF0ZSBsb2NhbGVzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKVxuICAgIHB1YmxpYyBsb2NhbGVzID0gdGhpcy5sb2NhbGVzU3ViamVjdC5hc09ic2VydmFibGUoKVxuXG4gICAgcHVibGljIGdldENoYW5uZWxDb25maWcgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi5nZXQodGhpcy5jaGFubmVsQ29uZmlnQXBpKCkpLnRvUHJvbWlzZSgpLnRoZW4oXG4gICAgICAgICAgICByZXMgPT4geyB0aGlzLmNoYW5uZWxDb25maWdTdWJqZWN0Lm5leHQocmVzKSwgcmVzICYmIHRoaXMuc2V0Q2hhbm5lbEluZm8ocmVzKSwgdGhpcy5jaGFubmVsVHlwZSA9IHJlcy50eXBlIH0sXG4gICAgICAgICAgICBlcnIgPT4gdGhpcy5jaGFubmVsQ29uZmlnU3ViamVjdC5uZXh0KHt9KVxuICAgICAgICApLmNhdGNoKGVyciA9PiB0aGlzLmNoYW5uZWxDb25maWdTdWJqZWN0Lm5leHQobnVsbCkpXG4gICAgfVxuXG4gICAgcHVibGljIGdldENoYW5uZWxzID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuY2hhbm5lbHNBcGkoKSkudG9Qcm9taXNlKClcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB0aGlzLmNoYW5uZWxzU3ViamVjdC5uZXh0KHJlcykpXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IHRoaXMuY2hhbm5lbHNTdWJqZWN0Lm5leHQoW10pKVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY3RpdmVDaGFubmVsID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGFubmVsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMb2NhbGVzID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMubG9jYWxlc0FwaSgpKS50b1Byb21pc2UoKVxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHRoaXMubG9jYWxlc1N1YmplY3QubmV4dChyZXMuaXRlbXMpKVxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB0aGlzLmxvY2FsZXNTdWJqZWN0Lm5leHQoW10pKVxuICAgIH1cblxuICAgIHB1YmxpYyBjaGFuZ2VDaGFubmVsID0gY2hhbm5lbE9iaiA9PiB7XG4gICAgICAgIHRoaXMuY29uc3RzLm1vZGlmeUNoYW5uZWxDb25maWcoe1xuICAgICAgICAgICAgY2hhbm5lbDogY2hhbm5lbE9iai5jb2RlLFxuICAgICAgICAgICAgY3VycmVuY3k6IGNoYW5uZWxPYmouYmFzZUN1cnJlbmN5LFxuICAgICAgICAgICAgbG9jYWxlOiBjaGFubmVsT2JqLmxvY2FsZXMuY29kZVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLmluamVjdG9yLmdldChBZGRyZXNzaW5nU2VydmljZSkuc2V0VHlwZVNlbGVjdEFkZHJlc3MoY2hhbm5lbE9iai5oZWFkcXVhcnRlclNlbGVjdGlvbk9ubHkgfHwgJ0xPQURfQUREUkVTU19BTkRfU0VMRUNUSU9OJylcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q2hhbm5lbEluZm8gPSBjaGFubmVsT2JqID0+IHtcbiAgICAgICAgdGhpcy5jb25zdHMuc2V0Q2hhbm5lbChjaGFubmVsT2JqLmNvZGUpXG4gICAgICAgIHRoaXMuY29uc3RzLnNldEN1cnJlbmN5KGNoYW5uZWxPYmouYmFzZUN1cnJlbmN5KVxuICAgICAgICB0aGlzLmNoYW5uZWwgPSBjaGFubmVsT2JqXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KEFkZHJlc3NpbmdTZXJ2aWNlKS5zZXRUeXBlU2VsZWN0QWRkcmVzcyhjaGFubmVsT2JqLmhlYWRxdWFydGVyU2VsZWN0aW9uT25seSB8fCAnTE9BRF9BRERSRVNTX0FORF9TRUxFQ1RJT04nKVxuICAgIH1cbiAgICBcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gY2FtYmlhbiBkZSBjYW5hbCBzZWd1biBlbCBob3N0bmFtZSBxdWUgcmVjaWJlIHBvciBwYXJhbWV0cm8uXG4gICAgICogQHdhcm5pbmcgIGVzdGEgZnVuY2lvbiBlcyB1dGlsIHBhcmEgZWwgY2FzbyBlbiBxdWUgc2UgbmVjZXNpdGUgbWFuZWphciB1cmwgZGlzdGludGFzLCBcbiAgICAgKiBjYWRhIHVuYSBjb24gc3UgY29uZmlndXJhY2nDs24gZGUgY2FuYWwsIHBlcm8gdXRpbGl6YW5kbyBlbCBtaXNtbyBmcm9udGVuZC4gXG4gICAgICogRW4gY3VhbHF1aWVyIG90cm8gY2FzbywgdXRpbGl6YXIgbGFzIGRlbWFzIGhlcnJhbWllbnRhcy5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gaG9zdG5hbWUgaG9zdG5hbWUgZGVsIGNhbmFsIHF1ZSBzZSByZXF1aWVyZSB1dGlsaXphci5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hhbmdlQ2hhbm5lbEJ5SG9zdG5hbWUgPSAoaG9zdG5hbWU6c3RyaW5nKSA9PiB7XG4gICAgICAgIC8vY29uc29sZS5sb2codGhpcy5jaGFubmVsc1N1YmplY3QuZ2V0VmFsdWUoKSlcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmNoYW5uZWxzQXBpKCkpLnRvUHJvbWlzZSgpLnRoZW4oIHJlcyA9PiB7XG4gICAgICAgICAgICBsZXQgY2hhbm5lbCA9IHJlcy5maWx0ZXIoZWxlbSA9PiBlbGVtLmhvc3RuYW1lID09IGhvc3RuYW1lKVxuICAgICAgICAgICAgaWYoY2hhbm5lbCl7XG4gICAgICAgICAgICAgICAgaWYgKGNoYW5uZWxbMF0uY29kZSAhPSB0aGlzLmNvbnN0cy5nZXRDaGFubmVsKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coY2hhbm5lbFswXSlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VDaGFubmVsKGNoYW5uZWxbMF0pXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uLmhyZWZcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkVsIGhvc3RuYW1lIG5vIGNvaW5jaWRlIGNvbiBuaW5ndW5vIHF1ZSB2ZW5nYSBlbiBsb3MgY2FuYWxlc1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLy9yZXR1cm4gY2hhbm5lbFxuICAgIH1cbn1cblxuIl19
@@ -373,4 +373,4 @@ var OptionsService = /** @class */ (function () {
373
373
  return OptionsService;
374
374
  }());
375
375
  export { OptionsService };
376
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29wdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLdkQ7SUFjSSx3QkFBb0IsVUFBNkIsRUFBVSxTQUFvQjtRQUEvRSxpQkFHQztRQUhtQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFidkUsbUJBQWMsR0FBOEIsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEUsc0JBQWlCLEdBQXlCLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLHNCQUFpQixHQUF5QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRSxvQkFBZSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRSxpQkFBWSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENB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LENBa1MxQjtJQUFELHFCQUFDO0NBQUEsQUFsU0QsSUFrU0M7U0FsU1ksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2Nvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG9mLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi9jb3JlLmNvbnN0cyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UsIG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZBUSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZmFxcyc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi9jbGFzc2VzL2ZpbHRlcnMvRmlsdGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9wdGlvbnNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGZpbHRlcnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gICAgcHJpdmF0ZSBjYXRlZ29yaWVzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgICBwcml2YXRlIGF0dHJpYnV0ZXNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICAgIHByaXZhdGUgc2VjdGlvbnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICAgIHByaXZhdGUgcmVhZHlTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoeyBvcHRpb25zOiB7IGNhdGVnb3JpZXM6IGZhbHNlLCBhdHRyaWJ1dGVzOiBmYWxzZSwgc2VjdGlvbnM6IGZhbHNlIH0sIHJlYWR5QWxsOiBmYWxzZSB9KTtcbiAgICBwcml2YXRlIGRhdGEgPSBbXTtcblxuXG4gICAgcHVibGljIGNhdGVnb3JpZXMgPSB0aGlzLmNhdGVnb3JpZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBhdHRyaWJ1dGVzID0gdGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgc2VjdGlvbnMgPSB0aGlzLnNlY3Rpb25zU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgcmVhZHkgPSB0aGlzLnJlYWR5U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsIHByaXZhdGUgY29uc3RhbnRzOiBDb25zdGFudHMpIHtcbiAgICAgICAgdGhpcy5nZXRBbGxEYXRhKCk7XG4gICAgICAgIC8vIHRoaXMuYXV0aFNlcnZpY2UubG9nZ2VkSW4uc3Vic2NyaWJlKHJlcyA9PiByZXMgJiYgdGhpcy5nZXRBbGxEYXRhKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWxsRGF0YSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgIHRoaXMuZ2V0QXR0cmlidXRlcygpO1xuICAgICAgICB0aGlzLmdldFNlY3Rpb25zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRDYXRlZ29yaWVzKCkge1xuICAgICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMudGF4b25zQXBpKCkpLnBpcGUodGFrZSgxKSxcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB0aGlzLmFwcGVuZFBhdGhzKHRydWUsIHJlc3BvbnNlKSkpXG4gICAgICAgICAgICAudG9Qcm9taXNlKCkudGhlbihcbiAgICAgICAgICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmZvckVhY2goZWxlbWVudCA9PiB0aGlzLmRhdGEucHVzaChlbGVtZW50KSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllc1N1YmplY3QubmV4dChyZXNwb25zZSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApLmNhdGNoKCgpID0+IHRoaXMuY2F0ZWdvcmllc1N1YmplY3QubmV4dChbXSkpXG4gICAgICAgIHRoaXMub3B0aW9uTG9hZGVkKCdjYXRlZ29yaWVzJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRBdHRyaWJ1dGVzKCkge1xuICAgICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuYXR0cmlidXRlc0FwaTIoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB0aGlzLmFwcGVuZFBhdGhzKGZhbHNlLCAocmVzcG9uc2UuYXR0cmlidXRlc1swXSB8fCByZXNwb25zZSkpKSlcbiAgICAgICAgICAgIC50b1Byb21pc2UoKS50aGVuKFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UuZm9yRWFjaChlbGVtZW50ID0+IHRoaXMuZGF0YS5wdXNoKGVsZW1lbnQpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5uZXh0KHRoaXMuYWRkQXR0cmlidXRlc1NsdWcocmVzcG9uc2UpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApLmNhdGNoKCgpID0+IHRoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dChbXSkpXG4gICAgICAgIHRoaXMub3B0aW9uTG9hZGVkKCdhdHRyaWJ1dGVzJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEF0dHJpYnV0ZXMyKGV4dHJhX3BhcmFtcz8pIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmF0dHJpYnV0ZXNBcGkyKGV4dHJhX3BhcmFtcykpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gdGhpcy5hcHBlbmRQYXRocyhmYWxzZSwgKHJlc3BvbnNlLmF0dHJpYnV0ZXNbMF18fCByZXNwb25zZSkpKSlcbiAgICAgICAgICAgIC50b1Byb21pc2UoKS50aGVuKFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UuZm9yRWFjaChlbGVtZW50ID0+IHRoaXMuZGF0YS5wdXNoKGVsZW1lbnQpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5uZXh0KHRoaXMuYWRkQXR0cmlidXRlc1NsdWcocmVzcG9uc2UpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApLmNhdGNoKCgpID0+IHRoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dChbXSkpXG4gICAgICAgIHRoaXMub3B0aW9uTG9hZGVkMignYXR0cmlidXRlcycpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhcHBlbmRQYXRocyhpc0NhdGVnb3J5LCByZXNwb25zZSkge1xuICAgICAgICBsZXQgcmVzdWx0ID0gcmVzcG9uc2UubWFwKHN1YmVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgaWYgKCFzdWJlbGVtZW50LmNoaWxkcmVuIHx8IHN1YmVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgICAgICBzdWJlbGVtZW50LmNoaWxkcmVuID0gW107XG4gICAgICAgICAgICAgICAgc3ViZWxlbWVudC5wYXRoID0gaXNDYXRlZ29yeSA/IHRoaXMuY29uc3RhbnRzLmdldFByb2R1Y3RzTGlzdFJvdXRlKCkgKyAnY2F0ZWdvcmllcy8nICsgdGhpcy5zbHVnaWZ5KChzdWJlbGVtZW50LnNsdWcgPyB0aGlzLnNsdWdpZnkoc3ViZWxlbWVudC5zbHVnKSA6IHN1YmVsZW1lbnQubmFtZSkpXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5jb25zdGFudHMuZ2V0UHJvZHVjdHNMaXN0Um91dGUoKSArICdhdHRyaWJ1dGVzLycgKyB0aGlzLnNsdWdpZnkoKHN1YmVsZW1lbnQuc2x1ZyA/IHRoaXMuc2x1Z2lmeShzdWJlbGVtZW50LnNsdWcpIDogc3ViZWxlbWVudC5uYW1lKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHN1YmVsZW1lbnQuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBzdWJlbGVtZW50LnNsdWcgPSBzdWJlbGVtZW50LnNsdWcgfHwgdGhpcy5zbHVnaWZ5KHN1YmVsZW1lbnQubmFtZSk7XG4gICAgICAgICAgICAgICAgc3ViZWxlbWVudC5jaGlsZHJlbiA9IHRoaXMuYXBwZW5kUGF0aHMoaXNDYXRlZ29yeSwgc3ViZWxlbWVudC5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpc0NhdGVnb3J5ID8gc3ViZWxlbWVudC5wYXRoID0gdGhpcy5jb25zdGFudHMuZ2V0UHJvZHVjdHNMaXN0Um91dGUoKSArICdjYXRlZ29yaWVzLycgKyB0aGlzLnNsdWdpZnkoKHN1YmVsZW1lbnQuc2x1ZyA/IHRoaXMuc2x1Z2lmeShzdWJlbGVtZW50LnNsdWcpIDogc3ViZWxlbWVudC5uYW1lKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogc3ViZWxlbWVudC5wYXRoID0gdGhpcy5jb25zdGFudHMuZ2V0UHJvZHVjdHNMaXN0Um91dGUoKSArICdhdHRyaWJ1dGVzLycgKyB0aGlzLnNsdWdpZnkoKHN1YmVsZW1lbnQuc2x1ZyA/IHRoaXMuc2x1Z2lmeShzdWJlbGVtZW50LnNsdWcpIDogc3ViZWxlbWVudC5uYW1lKSk7XG4gICAgICAgICAgICByZXR1cm4gc3ViZWxlbWVudDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRTZWN0aW9ucygpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLnNlY3Rpb25zQXBpKCkpLnRvUHJvbWlzZSgpLnRoZW4oXG4gICAgICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHNlY3Rpb25zID0gcmVzcG9uc2UuZmlsdGVyKGl0ZW0gPT4gaXRlbS5jb2RlICE9ICdob21lJyk7XG4gICAgICAgICAgICAgICAgc2VjdGlvbnMgPSBzZWN0aW9ucy5tYXAoc2VjdGlvbiA9PiB0aGlzLmFwcGVuZFNlY3Rpb24oc2VjdGlvbikpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VjdGlvbnNTdWJqZWN0Lm5leHQoc2VjdGlvbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICApLmNhdGNoKCgpID0+IHRoaXMuY2F0ZWdvcmllc1N1YmplY3QubmV4dChbXSkpO1xuICAgICAgICB0aGlzLm9wdGlvbkxvYWRlZCgnc2VjdGlvbnMnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGVuZFNlY3Rpb24oc2VjdGlvbikge1xuICAgICAgICBsZXQgZGF0YTogYW55ID0ge307XG4gICAgICAgIGlmIChzZWN0aW9uLnBhZ2VzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGRhdGEudHlwZSA9ICdzdWInO1xuICAgICAgICAgICAgZGF0YS5jaGlsZHJlbiA9IHNlY3Rpb24ucGFnZXMubWFwKHBhZ2UgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IHBhZ2UuY29kZSxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcGFnZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IHRoaXMuY29uc3RhbnRzLmdldFNlY3Rpb25zUm91dGUoKSArIChwYWdlLnNsdWcgPyBwYWdlLnNsdWcgOiBwYWdlLmNvZGUpLFxuICAgICAgICAgICAgICAgICAgICAvLyBwYXRoOiB0aGlzLmNvbnN0YW50cy5nZXRTZWN0aW9uc1JvdXRlKCkgKyBwYWdlLnNsdWcsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBkYXRhLnRpdGxlID0gc2VjdGlvbi5uYW1lO1xuICAgICAgICAgICAgZGF0YS5uYW1lID0gc2VjdGlvbi5uYW1lO1xuICAgICAgICAgICAgZGF0YS5wYXRoID0gdGhpcy5jb25zdGFudHMuZ2V0U2VjdGlvbnNSb3V0ZSgpICsgKHNlY3Rpb24uc2x1ZyA/IHNlY3Rpb24uc2x1ZyA6IHNlY3Rpb24uY29kZSk7XG4gICAgICAgICAgICBkYXRhLmNvZGUgPSBzZWN0aW9uLmNvZGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkYXRhLmNvZGUgPSBzZWN0aW9uLmNvZGU7XG4gICAgICAgICAgICBkYXRhLnRpdGxlID0gc2VjdGlvbi5uYW1lO1xuICAgICAgICAgICAgZGF0YS50eXBlID0gJ2xpbmsnO1xuICAgICAgICAgICAgZGF0YS5jaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgZGF0YS5wYXRoID0gdGhpcy5jb25zdGFudHMuZ2V0U2VjdGlvbnNSb3V0ZSgpICsgKHNlY3Rpb24uc2x1ZyA/IHNlY3Rpb24uc2x1ZyA6IHNlY3Rpb24uY29kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlY3Rpb25Db250ZW50QnlMaW5rID0gKGxpbmspID0+XG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi5nZXRIVE1MKHRoaXMucGFnZUNvbnRlbnRCeUNvZGVBcGkobGluaykpLnBpcGUoXG4gICAgICAgICAgICBtYXAoaHRtbCA9PiBodG1sLnNwbGl0KCc8L2hlYWQ+JylbaHRtbC5zcGxpdCgnPC9oZWFkPicpLmxlbmd0aCAtIDFdKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiBvZihmYWxzZSkpXG4gICAgICAgICk7XG5cbiAgICBwdWJsaWMgZ2V0U2VjdGlvbkNvbnRlbnRCeUxpbmtBc1Byb21pc2UgPSAobGluaykgPT5cbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldEhUTUwodGhpcy5wYWdlQ29udGVudEJ5Q29kZUFwaShsaW5rKSkucGlwZShcbiAgICAgICAgICAgIG1hcChodG1sID0+IGh0bWwuc3BsaXQoJzwvaGVhZD4nKVtodG1sLnNwbGl0KCc8L2hlYWQ+JykubGVuZ3RoIC0gMV0pLFxuICAgICAgICApLnRvUHJvbWlzZSgpLmNhdGNoKGUgPT4gbnVsbCk7XG5cbiAgICBwdWJsaWMgZ2V0RkFRID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmZhcXNBcGkoKSkucGlwZShtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdDogRkFRW10gPSBbXTtcbiAgICAgICAgICAgIHJlc3BvbnNlLmZvckVhY2gocmVzcG9uc2VfZmFxID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZmFxczogRkFRID0ge1xuICAgICAgICAgICAgICAgICAgICBjb2RlOiByZXNwb25zZV9mYXEuY29kZSxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlc3BvbnNlX2ZhcS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHJlc3BvbnNlX2ZhcS50cmFuc2xhdGlvbnNbdGhpcy5jb25zdGFudHMuZ2V0TG9jYWxlKCldLnRvcGljLFxuICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbnM6IHJlc3BvbnNlX2ZhcS5mcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMubWFwKGFza2VkX3F1ZXN0aW9uID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBhc2tlZF9xdWVzdGlvbi5jb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFza2VkX3F1ZXN0aW9uLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb246IGFza2VkX3F1ZXN0aW9uLnRyYW5zbGF0aW9uc1t0aGlzLmNvbnN0YW50cy5nZXRMb2NhbGUoKV0gPyBhc2tlZF9xdWVzdGlvbi50cmFuc2xhdGlvbnNbdGhpcy5jb25zdGFudHMuZ2V0TG9jYWxlKCldLnF1ZXN0aW9uIDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXI6IGFza2VkX3F1ZXN0aW9uLnRyYW5zbGF0aW9uc1t0aGlzLmNvbnN0YW50cy5nZXRMb2NhbGUoKV0gPyBhc2tlZF9xdWVzdGlvbi50cmFuc2xhdGlvbnNbdGhpcy5jb25zdGFudHMuZ2V0TG9jYWxlKCldLmFuc3dlciA6ICcnLFxuICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZhcXMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3B0aW9uTG9hZGVkKGtleSkge1xuICAgICAgICBjb25zdCBhbGxSZWFkeSA9IChvcHRpb25zKSA9PiBPYmplY3Qua2V5cyhvcHRpb25zKS5ldmVyeShvcHRpb25fa2V5ID0+IHN0YXRlLm9wdGlvbnNbb3B0aW9uX2tleV0pO1xuICAgICAgICBsZXQgc3RhdGUgPSB0aGlzLnJlYWR5U3ViamVjdC52YWx1ZTtcbiAgICAgICAgc3RhdGUub3B0aW9uc1trZXldID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZWFkeVN1YmplY3QubmV4dCh7IG9wdGlvbnM6IHN0YXRlLm9wdGlvbnMsIHJlYWR5QWxsOiBhbGxSZWFkeShzdGF0ZS5vcHRpb25zKSB9KVxuICAgIH1cblxuICAgIHB1YmxpYyBvcHRpb25Mb2FkZWQyKGtleSkge1xuICAgICAgICBjb25zdCBhbGxSZWFkeSA9IChvcHRpb25zKSA9PiBPYmplY3Qua2V5cyhvcHRpb25zKS5ldmVyeShvcHRpb25fa2V5ID0+IHN0YXRlLm9wdGlvbnNbb3B0aW9uX2tleV0pO1xuICAgICAgICBsZXQgc3RhdGUgPSB0aGlzLnJlYWR5U3ViamVjdC52YWx1ZTtcbiAgICAgICAgc3RhdGUub3B0aW9uc1trZXldID0gdHJ1ZTtcbiAgICAgICAgLy8gdGhpcy5yZWFkeVN1YmplY3QubmV4dCh7IG9wdGlvbnM6IHN0YXRlLm9wdGlvbnMsIHJlYWR5QWxsOiBhbGxSZWFkeShzdGF0ZS5vcHRpb25zKSB9KVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNTdWJFbGVtZW50ID0gKGFycmF5LCBjb2RlKSA9PiB7XG4gICAgICAgIGxldCBlbGVtZW50ID0gYXJyYXkuZmluZChlbGVtZW50ID0+IGVsZW1lbnQuY29kZSA9PSBjb2RlKTtcbiAgICAgICAgcmV0dXJuIChlbGVtZW50ICYmIGVsZW1lbnQuY29kZSkgfHwgKGFycmF5LmNoaWxkcmVuICYmIHRoaXMuaXNTdWJFbGVtZW50KGFycmF5LmNoaWRyZW4sIGNvZGUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRDb2RlID0gKHNsdWcsIGVsZW1lbnRzKSA9PiB7XG4gICAgICAgIGxldCBlbGVtZW50ID0gZWxlbWVudHMuZmluZChlbGVtID0+IGVsZW0uc2x1ZyA9PSBzbHVnKTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHJldHVybiBlbGVtZW50LmNvZGU7XG4gICAgICAgIGVsZW1lbnRzLnNvbWUoZWxlbSA9PiB7XG4gICAgICAgICAgICBpZiAoZWxlbS5jaGlsZHJlbiAmJiBlbGVtLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLmZpbmRDb2RlKHNsdWcsIGVsZW0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQgfHwgZmFsc2U7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXRDb2RlQnlTbHVnID0gKHNsdWcpID0+IHtcbiAgICAgICAgbGV0IGNvZGUgPSB0aGlzLmZpbmRDb2RlKHNsdWcsIHRoaXMuZ2VuZXJhdGVNZW51KHRoaXMuY2F0ZWdvcmllc1N1YmplY3QudmFsdWUpKTtcbiAgICAgICAgaWYgKCFjb2RlKSBjb2RlID0gdGhpcy5maW5kQ29kZShzbHVnLCB0aGlzLmdlbmVyYXRlTWVudSh0aGlzLmF0dHJpYnV0ZXNTdWJqZWN0LnZhbHVlKSk7XG4gICAgICAgIHJldHVybiBjb2RlIHx8IHNsdWc7XG4gICAgfVxuXG4gICAgZ2V0SGlnaGVyID0gKGNvZGUpID0+IHtcbiAgICAgICAgbGV0IGhpZ2hlcl9jb2RlO1xuICAgICAgICBoaWdoZXJfY29kZSA9IHRoaXMuZGF0YS5maW5kKGVsZW1lbnQgPT4gIShlbGVtZW50LmNvZGUgPT0gY29kZSkgJiYgIXRoaXMuaXNTdWJFbGVtZW50KGVsZW1lbnQuY2hpbGRyZW4sIGNvZGUpKS5jb2RlO1xuICAgICAgICByZXR1cm4gaGlnaGVyX2NvZGUgfHwgJ2RlZmF1bHQnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQVBJU1xuICAgICAqL1xuXG4gICAgcHJpdmF0ZSBjbXNCYXNlID0gKCkgPT4gJ2Ntcy8nICsgdGhpcy5jb25zdGFudHMuZ2V0TG9jYWxlKCk7XG4gICAgcHJpdmF0ZSBjbXNDaGFubmVsID0gKCkgPT4gJ2Ntcy8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpO1xuICAgIHByaXZhdGUgc2hvcEFwaSA9ICgpID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpO1xuXG4gICAgcHJpdmF0ZSBmYXFzQXBpID0gKCkgPT4gJ2Ntcy8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpICsgJy9mYXEnO1xuICAgIC8vIHByaXZhdGUgc2VjdGlvbnNBcGkgPSAoKSA9PiB0aGlzLmNtc0Jhc2UoKSArICcvc2VjdGlvbnMvJztcbiAgICBwcml2YXRlIHNlY3Rpb25zQXBpID0gKCkgPT4gdGhpcy5jbXNDaGFubmVsKCkgKyAnL3NlY3Rpb25zLycgKyAnP2xvY2FsZT0nICsgdGhpcy5jb25zdGFudHMuZ2V0TG9jYWxlKCk7XG4gICAgcHJpdmF0ZSBzZWN0aW9uQnlDb2RlQXBpID0gKGNvZGUpID0+IHRoaXMuY21zQmFzZSgpICsgJy9wYWdlcy8nICsgY29kZTtcbiAgICAvLyBwcml2YXRlIHBhZ2VDb250ZW50QnlDb2RlQXBpID0gKGNvZGUpID0+IHRoaXMuY21zQmFzZSgpICsgJy8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpICsgJy9wYWdlLycgKyBjb2RlO1xuICAgIHByaXZhdGUgcGFnZUNvbnRlbnRCeUNvZGVBcGkgPSAoY29kZSkgPT4gdGhpcy5jbXNCYXNlKCkgKyAnLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL3BhZ2UvJyArIGNvZGU7XG4gICAgcHJpdmF0ZSB0YXhvbnNBcGkgPSAoKSA9PiB0aGlzLnNob3BBcGkoKSArICcvdGF4b25zLycgKyAnP2xvY2FsZT0nICsgdGhpcy5jb25zdGFudHMuZ2V0TG9jYWxlKCk7XG4gICAgcHJpdmF0ZSBhdHRyaWJ1dGVzQXBpID0gKCkgPT4gdGhpcy5zaG9wQXBpKCkgKyAnL2F0dHJpYnV0ZXMtbGlzdCcgKyAnP2xvY2FsZT0nICsgdGhpcy5jb25zdGFudHMuZ2V0TG9jYWxlKCk7XG4gICAgcHJpdmF0ZSBhdHRyaWJ1dGVzQXBpMiA9IChmaWx0ZXJzID0gJycpID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpICsgJy9wcm9kdWN0LXNlYXJjaC9hdHRyaWJ1dGVzLycgKyAnP2xvY2FsZT0nICsgdGhpcy5jb25zdGFudHMuZ2V0TG9jYWxlKCkrICcmbGltaXQ9MSZwYWdlPTEnICsgZmlsdGVycztcbiAgICAvKipcbiAgICAgKiBAcHVibGljXG4gICAgICogVVRJTFNcbiAgICAgKi9cblxuICAgIGFkZEF0dHJpYnV0ZXNTbHVnID0gKGF0dHJpYnV0ZXMpID0+IGF0dHJpYnV0ZXMubWFwKFxuICAgICAgICBhdHRyaWJ1dGUgPT4geyByZXR1cm4geyAuLi5hdHRyaWJ1dGUsIGNoaWxkcmVuOiBhdHRyaWJ1dGUuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHsgcmV0dXJuIHsgLi4uY2hpbGQsIHNsdWc6IHRoaXMuc2x1Z2lmeShjaGlsZC5uYW1lKSB9IH0pIH0gfVxuICAgICk7XG5cbiAgICBzbHVnaWZ5ID0gKHRleHQ6IHN0cmluZykgPT4gdGhpcy5yZW1vdmVBY2NlbnRzKHRleHQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8gJiAvZywgJyAnKS5yZXBsYWNlKC8gL2csICctJykucmVwbGFjZSgvXFwvL2csICctJykucmVwbGFjZSgvw7EvZywgJ24nKSk7XG5cbiAgICBnZW5lcmF0ZU1lbnUgPSAoZWxlbWVudHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnRzLm1hcChzdWJlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgICAgICAoc3ViZWxlbWVudC5jaGlsZHJlbiAmJiBzdWJlbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA9PSAwKSA/IHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICAuLi5zdWJlbGVtZW50LFxuICAgICAgICAgICAgICAgIHRpdGxlOiBzdWJlbGVtZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgcGF0aDogc3ViZWxlbWVudC5wYXRoLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3ViZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHN1YmVsZW1lbnQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1YicsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IHN1YmVsZW1lbnQucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IChzdWJlbGVtZW50LmNoaWxkcmVuID8gdGhpcy5nZW5lcmF0ZU1lbnUoc3ViZWxlbWVudC5jaGlsZHJlbikgOiBbXSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQWNjZW50cyA9IChzdHIpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0ci5ub3JtYWxpemUoXCJORkRcIikucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgXCJcIik7XG4gICAgfVxuXG4gICAgZ2V0QnJlYWRjcnVtYiA9IChjb2RlKSA9PiB7XG4gICAgICAgIGlmICghY29kZSkgcmV0dXJuIG51bGw7XG4gICAgICAgIGxldCBicmVhZGNydW1iID0gdGhpcy5nZW5lcmF0ZUJyZWFkY3J1bWIoY29kZSwgdGhpcy5nZW5lcmF0ZU1lbnUodGhpcy5jYXRlZ29yaWVzU3ViamVjdC52YWx1ZSksIFtdKTtcbiAgICAgICAgaWYgKCFicmVhZGNydW1iIHx8ICFicmVhZGNydW1iLmxlbmd0aCkgYnJlYWRjcnVtYiA9IHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1iKGNvZGUsIHRoaXMuZ2VuZXJhdGVNZW51KHRoaXMuYXR0cmlidXRlc1N1YmplY3QudmFsdWUpLCBbXSk7XG4gICAgICAgIHJldHVybiAoYnJlYWRjcnVtYiAmJiBicmVhZGNydW1iLmxlbmd0aCkgJiYgYnJlYWRjcnVtYi5yZXZlcnNlKCk7XG4gICAgfVxuXG4gICAgZ2V0QnJlYWRjcnVtYkJ5RmlsdGVycyA9IChmaWx0ZXJzOiBGaWx0ZXJbXSkgPT4ge1xuICAgICAgICBsZXQgZmluYWxfcmVzdWx0ID0gW107XG4gICAgICAgIGZpbHRlcnMuZm9yRWFjaChmaWx0ZXIgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGZpbHRlci5nZXRTZWxlY3RlZExpc3QoKTtcbiAgICAgICAgICAgIGlmICghcmVzdWx0IHx8ICFyZXN1bHQubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgICAgICAgIGlmIChmaWx0ZXIudHlwZSgpID09ICdjYXRlZ29yeScpIGZpbmFsX3Jlc3VsdC51bnNoaWZ0KC4uLnRoaXMuZ2VuZXJhdGVCcmVhZGNydW1iKHJlc3VsdFswXSwgZmlsdGVyLmRhdGEsIFtdKS5yZXZlcnNlKCkpO1xuICAgICAgICAgICAgZWxzZSByZXN1bHQuZm9yRWFjaChcbiAgICAgICAgICAgICAgICBjb2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGJyZWFkY3J1bWIgPSB0aGlzLmdlbmVyYXRlQnJlYWRjcnVtYihjb2RlLCBmaWx0ZXIuZGF0YSwgW10pXG4gICAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWIubGVuZ3RoICYmIGZpbmFsX3Jlc3VsdC5wdXNoKGJyZWFkY3J1bWJbMF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmaW5hbF9yZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUJyZWFkY3J1bWIgPSAoY29kZSwgZWxlbWVudHMsIHJlc3VsdCkgPT4ge1xuICAgICAgICBsZXQgZWxlbWVudCA9IGVsZW1lbnRzLmZpbmQoZWxlbSA9PiBlbGVtLmNvZGUgPT0gY29kZSk7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVsZW1lbnRzLnNvbWUoZWxlbSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW0uY2hpbGRyZW4gJiYgZWxlbS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gcmVzdWx0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld19yZXN1bHQgPSB0aGlzLmdlbmVyYXRlQnJlYWRjcnVtYihjb2RlLCBlbGVtLmNoaWxkcmVuLCByZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV3X3Jlc3VsdC5sZW5ndGggPiBsZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IG5ld19yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChlbGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
376
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29wdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLdkQ7SUFjSSx3QkFBb0IsVUFBNkIsRUFBVSxTQUFvQjtRQUEvRSxpQkFHQztRQUhtQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFidkUsbUJBQWMsR0FBOEIsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEUsc0JBQWlCLEdBQXlCLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLHNCQUFpQixHQUF5QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRSxvQkFBZSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRSxpQkFBWSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENB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LENBa1MxQjtJQUFELHFCQUFDO0NBQUEsQUFsU0QsSUFrU0M7U0FsU1ksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2Nvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG9mLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi9jb3JlLmNvbnN0cyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UsIG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZBUSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZmFxcyc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi9jbGFzc2VzL2ZpbHRlcnMvRmlsdGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9wdGlvbnNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGZpbHRlcnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gICAgcHJpdmF0ZSBjYXRlZ29yaWVzU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgICBwcml2YXRlIGF0dHJpYnV0ZXNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICAgIHByaXZhdGUgc2VjdGlvbnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICAgIHByaXZhdGUgcmVhZHlTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoeyBvcHRpb25zOiB7IGNhdGVnb3JpZXM6IGZhbHNlLCBhdHRyaWJ1dGVzOiBmYWxzZSwgc2VjdGlvbnM6IGZhbHNlIH0sIHJlYWR5QWxsOiBmYWxzZSB9KTtcbiAgICBwcml2YXRlIGRhdGEgPSBbXTtcblxuXG4gICAgcHVibGljIGNhdGVnb3JpZXMgPSB0aGlzLmNhdGVnb3JpZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBhdHRyaWJ1dGVzID0gdGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgc2VjdGlvbnMgPSB0aGlzLnNlY3Rpb25zU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgcmVhZHkgPSB0aGlzLnJlYWR5U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsIHByaXZhdGUgY29uc3RhbnRzOiBDb25zdGFudHMpIHtcbiAgICAgICAgdGhpcy5nZXRBbGxEYXRhKCk7XG4gICAgICAgIC8vIHRoaXMuYXV0aFNlcnZpY2UubG9nZ2VkSW4uc3Vic2NyaWJlKHJlcyA9PiByZXMgJiYgdGhpcy5nZXRBbGxEYXRhKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWxsRGF0YSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgIHRoaXMuZ2V0QXR0cmlidXRlcygpO1xuICAgICAgICB0aGlzLmdldFNlY3Rpb25zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRDYXRlZ29yaWVzKCkge1xuICAgICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMudGF4b25zQXBpKCkpLnBpcGUodGFrZSgxKSxcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB0aGlzLmFwcGVuZFBhdGhzKHRydWUsIHJlc3BvbnNlKSkpXG4gICAgICAgICAgICAudG9Qcm9taXNlKCkudGhlbihcbiAgICAgICAgICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmZvckVhY2goZWxlbWVudCA9PiB0aGlzLmRhdGEucHVzaChlbGVtZW50KSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllc1N1YmplY3QubmV4dChyZXNwb25zZSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApLmNhdGNoKCgpID0+IHRoaXMuY2F0ZWdvcmllc1N1YmplY3QubmV4dChbXSkpXG4gICAgICAgIHRoaXMub3B0aW9uTG9hZGVkKCdjYXRlZ29yaWVzJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRBdHRyaWJ1dGVzKCkge1xuICAgICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuYXR0cmlidXRlc0FwaTIoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB0aGlzLmFwcGVuZFBhdGhzKGZhbHNlLCAocmVzcG9uc2UuYXR0cmlidXRlc1swXSB8fCByZXNwb25zZSkpKSlcbiAgICAgICAgICAgIC50b1Byb21pc2UoKS50aGVuKFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UuZm9yRWFjaChlbGVtZW50ID0+IHRoaXMuZGF0YS5wdXNoKGVsZW1lbnQpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzU3ViamVjdC5uZXh0KHRoaXMuYWRkQXR0cmlidXRlc1NsdWcocmVzcG9uc2UpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApLmNhdGNoKCgpID0+IHRoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dChbXSkpXG4gICAgICAgIHRoaXMub3B0aW9uTG9hZGVkKCdhdHRyaWJ1dGVzJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEF0dHJpYnV0ZXMyKGV4dHJhX3BhcmFtcz8pIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmF0dHJpYnV0ZXNBcGkyKGV4dHJhX3BhcmFtcykpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gdGhpcy5hcHBlbmRQYXRocyhmYWxzZSwgKHJlc3BvbnNlLmF0dHJpYnV0ZXNbMF0gfHwgcmVzcG9uc2UpKSkpXG4gICAgICAgICAgICAudG9Qcm9taXNlKCkudGhlbihcbiAgICAgICAgICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmZvckVhY2goZWxlbWVudCA9PiB0aGlzLmRhdGEucHVzaChlbGVtZW50KSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1N1YmplY3QubmV4dCh0aGlzLmFkZEF0dHJpYnV0ZXNTbHVnKHJlc3BvbnNlKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKS5jYXRjaCgoKSA9PiB0aGlzLmF0dHJpYnV0ZXNTdWJqZWN0Lm5leHQoW10pKVxuICAgICAgICB0aGlzLm9wdGlvbkxvYWRlZDIoJ2F0dHJpYnV0ZXMnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXBwZW5kUGF0aHMoaXNDYXRlZ29yeSwgcmVzcG9uc2UpIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IHJlc3BvbnNlLm1hcChzdWJlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGlmICghc3ViZWxlbWVudC5jaGlsZHJlbiB8fCBzdWJlbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICAgICAgc3ViZWxlbWVudC5jaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgICAgIHN1YmVsZW1lbnQucGF0aCA9IGlzQ2F0ZWdvcnkgPyB0aGlzLmNvbnN0YW50cy5nZXRQcm9kdWN0c0xpc3RSb3V0ZSgpICsgJ2NhdGVnb3JpZXMvJyArIHRoaXMuc2x1Z2lmeSgoc3ViZWxlbWVudC5zbHVnID8gdGhpcy5zbHVnaWZ5KHN1YmVsZW1lbnQuc2x1ZykgOiBzdWJlbGVtZW50Lm5hbWUpKVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuY29uc3RhbnRzLmdldFByb2R1Y3RzTGlzdFJvdXRlKCkgKyAnYXR0cmlidXRlcy8nICsgdGhpcy5zbHVnaWZ5KChzdWJlbGVtZW50LnNsdWcgPyB0aGlzLnNsdWdpZnkoc3ViZWxlbWVudC5zbHVnKSA6IHN1YmVsZW1lbnQubmFtZSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChzdWJlbGVtZW50LmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgc3ViZWxlbWVudC5zbHVnID0gc3ViZWxlbWVudC5zbHVnIHx8IHRoaXMuc2x1Z2lmeShzdWJlbGVtZW50Lm5hbWUpO1xuICAgICAgICAgICAgICAgIHN1YmVsZW1lbnQuY2hpbGRyZW4gPSB0aGlzLmFwcGVuZFBhdGhzKGlzQ2F0ZWdvcnksIHN1YmVsZW1lbnQuY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXNDYXRlZ29yeSA/IHN1YmVsZW1lbnQucGF0aCA9IHRoaXMuY29uc3RhbnRzLmdldFByb2R1Y3RzTGlzdFJvdXRlKCkgKyAnY2F0ZWdvcmllcy8nICsgdGhpcy5zbHVnaWZ5KChzdWJlbGVtZW50LnNsdWcgPyB0aGlzLnNsdWdpZnkoc3ViZWxlbWVudC5zbHVnKSA6IHN1YmVsZW1lbnQubmFtZSkpXG4gICAgICAgICAgICAgICAgOiBzdWJlbGVtZW50LnBhdGggPSB0aGlzLmNvbnN0YW50cy5nZXRQcm9kdWN0c0xpc3RSb3V0ZSgpICsgJ2F0dHJpYnV0ZXMvJyArIHRoaXMuc2x1Z2lmeSgoc3ViZWxlbWVudC5zbHVnID8gdGhpcy5zbHVnaWZ5KHN1YmVsZW1lbnQuc2x1ZykgOiBzdWJlbGVtZW50Lm5hbWUpKTtcbiAgICAgICAgICAgIHJldHVybiBzdWJlbGVtZW50O1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGdldFNlY3Rpb25zKCkge1xuICAgICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuc2VjdGlvbnNBcGkoKSkudG9Qcm9taXNlKCkudGhlbihcbiAgICAgICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgc2VjdGlvbnMgPSByZXNwb25zZS5maWx0ZXIoaXRlbSA9PiBpdGVtLmNvZGUgIT0gJ2hvbWUnKTtcbiAgICAgICAgICAgICAgICBzZWN0aW9ucyA9IHNlY3Rpb25zLm1hcChzZWN0aW9uID0+IHRoaXMuYXBwZW5kU2VjdGlvbihzZWN0aW9uKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWN0aW9uc1N1YmplY3QubmV4dChzZWN0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICkuY2F0Y2goKCkgPT4gdGhpcy5jYXRlZ29yaWVzU3ViamVjdC5uZXh0KFtdKSk7XG4gICAgICAgIHRoaXMub3B0aW9uTG9hZGVkKCdzZWN0aW9ucycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwZW5kU2VjdGlvbihzZWN0aW9uKSB7XG4gICAgICAgIGxldCBkYXRhOiBhbnkgPSB7fTtcbiAgICAgICAgaWYgKHNlY3Rpb24ucGFnZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgZGF0YS50eXBlID0gJ3N1Yic7XG4gICAgICAgICAgICBkYXRhLmNoaWxkcmVuID0gc2VjdGlvbi5wYWdlcy5tYXAocGFnZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgY29kZTogcGFnZS5jb2RlLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBwYWdlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogdGhpcy5jb25zdGFudHMuZ2V0U2VjdGlvbnNSb3V0ZSgpICsgKHBhZ2Uuc2x1ZyA/IHBhZ2Uuc2x1ZyA6IHBhZ2UuY29kZSksXG4gICAgICAgICAgICAgICAgICAgIC8vIHBhdGg6IHRoaXMuY29uc3RhbnRzLmdldFNlY3Rpb25zUm91dGUoKSArIHBhZ2Uuc2x1ZyxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGRhdGEudGl0bGUgPSBzZWN0aW9uLm5hbWU7XG4gICAgICAgICAgICBkYXRhLm5hbWUgPSBzZWN0aW9uLm5hbWU7XG4gICAgICAgICAgICBkYXRhLnBhdGggPSB0aGlzLmNvbnN0YW50cy5nZXRTZWN0aW9uc1JvdXRlKCkgKyAoc2VjdGlvbi5zbHVnID8gc2VjdGlvbi5zbHVnIDogc2VjdGlvbi5jb2RlKTtcbiAgICAgICAgICAgIGRhdGEuY29kZSA9IHNlY3Rpb24uY29kZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRhdGEuY29kZSA9IHNlY3Rpb24uY29kZTtcbiAgICAgICAgICAgIGRhdGEudGl0bGUgPSBzZWN0aW9uLm5hbWU7XG4gICAgICAgICAgICBkYXRhLnR5cGUgPSAnbGluayc7XG4gICAgICAgICAgICBkYXRhLmNoaWxkcmVuID0gW107XG4gICAgICAgICAgICBkYXRhLnBhdGggPSB0aGlzLmNvbnN0YW50cy5nZXRTZWN0aW9uc1JvdXRlKCkgKyAoc2VjdGlvbi5zbHVnID8gc2VjdGlvbi5zbHVnIDogc2VjdGlvbi5jb2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2VjdGlvbkNvbnRlbnRCeUxpbmsgPSAobGluaykgPT5cbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldEhUTUwodGhpcy5wYWdlQ29udGVudEJ5Q29kZUFwaShsaW5rKSkucGlwZShcbiAgICAgICAgICAgIG1hcChodG1sID0+IGh0bWwuc3BsaXQoJzwvaGVhZD4nKVtodG1sLnNwbGl0KCc8L2hlYWQ+JykubGVuZ3RoIC0gMV0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlID0+IG9mKGZhbHNlKSlcbiAgICAgICAgKTtcblxuICAgIHB1YmxpYyBnZXRTZWN0aW9uQ29udGVudEJ5TGlua0FzUHJvbWlzZSA9IChsaW5rKSA9PlxuICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZ2V0SFRNTCh0aGlzLnBhZ2VDb250ZW50QnlDb2RlQXBpKGxpbmspKS5waXBlKFxuICAgICAgICAgICAgbWFwKGh0bWwgPT4gaHRtbC5zcGxpdCgnPC9oZWFkPicpW2h0bWwuc3BsaXQoJzwvaGVhZD4nKS5sZW5ndGggLSAxXSksXG4gICAgICAgICkudG9Qcm9taXNlKCkuY2F0Y2goZSA9PiBudWxsKTtcblxuICAgIHB1YmxpYyBnZXRGQVEgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuZmFxc0FwaSgpKS5waXBlKG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0OiBGQVFbXSA9IFtdO1xuICAgICAgICAgICAgcmVzcG9uc2UuZm9yRWFjaChyZXNwb25zZV9mYXEgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBmYXFzOiBGQVEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IHJlc3BvbnNlX2ZhcS5jb2RlLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVzcG9uc2VfZmFxLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogcmVzcG9uc2VfZmFxLnRyYW5zbGF0aW9uc1t0aGlzLmNvbnN0YW50cy5nZXRMb2NhbGUoKV0udG9waWMsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uczogcmVzcG9uc2VfZmFxLmZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucy5tYXAoYXNrZWRfcXVlc3Rpb24gPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IGFza2VkX3F1ZXN0aW9uLmNvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYXNrZWRfcXVlc3Rpb24ucG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbjogYXNrZWRfcXVlc3Rpb24udHJhbnNsYXRpb25zW3RoaXMuY29uc3RhbnRzLmdldExvY2FsZSgpXSA/IGFza2VkX3F1ZXN0aW9uLnRyYW5zbGF0aW9uc1t0aGlzLmNvbnN0YW50cy5nZXRMb2NhbGUoKV0ucXVlc3Rpb24gOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcjogYXNrZWRfcXVlc3Rpb24udHJhbnNsYXRpb25zW3RoaXMuY29uc3RhbnRzLmdldExvY2FsZSgpXSA/IGFza2VkX3F1ZXN0aW9uLnRyYW5zbGF0aW9uc1t0aGlzLmNvbnN0YW50cy5nZXRMb2NhbGUoKV0uYW5zd2VyIDogJycsXG4gICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goZmFxcyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcHRpb25Mb2FkZWQoa2V5KSB7XG4gICAgICAgIGNvbnN0IGFsbFJlYWR5ID0gKG9wdGlvbnMpID0+IE9iamVjdC5rZXlzKG9wdGlvbnMpLmV2ZXJ5KG9wdGlvbl9rZXkgPT4gc3RhdGUub3B0aW9uc1tvcHRpb25fa2V5XSk7XG4gICAgICAgIGxldCBzdGF0ZSA9IHRoaXMucmVhZHlTdWJqZWN0LnZhbHVlO1xuICAgICAgICBzdGF0ZS5vcHRpb25zW2tleV0gPSB0cnVlO1xuICAgICAgICB0aGlzLnJlYWR5U3ViamVjdC5uZXh0KHsgb3B0aW9uczogc3RhdGUub3B0aW9ucywgcmVhZHlBbGw6IGFsbFJlYWR5KHN0YXRlLm9wdGlvbnMpIH0pXG4gICAgfVxuXG4gICAgcHVibGljIG9wdGlvbkxvYWRlZDIoa2V5KSB7XG4gICAgICAgIGNvbnN0IGFsbFJlYWR5ID0gKG9wdGlvbnMpID0+IE9iamVjdC5rZXlzKG9wdGlvbnMpLmV2ZXJ5KG9wdGlvbl9rZXkgPT4gc3RhdGUub3B0aW9uc1tvcHRpb25fa2V5XSk7XG4gICAgICAgIGxldCBzdGF0ZSA9IHRoaXMucmVhZHlTdWJqZWN0LnZhbHVlO1xuICAgICAgICBzdGF0ZS5vcHRpb25zW2tleV0gPSB0cnVlO1xuICAgICAgICAvLyB0aGlzLnJlYWR5U3ViamVjdC5uZXh0KHsgb3B0aW9uczogc3RhdGUub3B0aW9ucywgcmVhZHlBbGw6IGFsbFJlYWR5KHN0YXRlLm9wdGlvbnMpIH0pXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1N1YkVsZW1lbnQgPSAoYXJyYXksIGNvZGUpID0+IHtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSBhcnJheS5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5jb2RlID09IGNvZGUpO1xuICAgICAgICByZXR1cm4gKGVsZW1lbnQgJiYgZWxlbWVudC5jb2RlKSB8fCAoYXJyYXkuY2hpbGRyZW4gJiYgdGhpcy5pc1N1YkVsZW1lbnQoYXJyYXkuY2hpZHJlbiwgY29kZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZENvZGUgPSAoc2x1ZywgZWxlbWVudHMpID0+IHtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSBlbGVtZW50cy5maW5kKGVsZW0gPT4gZWxlbS5zbHVnID09IHNsdWcpO1xuICAgICAgICBpZiAoZWxlbWVudCkgcmV0dXJuIGVsZW1lbnQuY29kZTtcbiAgICAgICAgZWxlbWVudHMuc29tZShlbGVtID0+IHtcbiAgICAgICAgICAgIGlmIChlbGVtLmNoaWxkcmVuICYmIGVsZW0uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgZWxlbWVudCA9IHRoaXMuZmluZENvZGUoc2x1ZywgZWxlbS5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudCB8fCBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIGdldENvZGVCeVNsdWcgPSAoc2x1ZykgPT4ge1xuICAgICAgICBsZXQgY29kZSA9IHRoaXMuZmluZENvZGUoc2x1ZywgdGhpcy5nZW5lcmF0ZU1lbnUodGhpcy5jYXRlZ29yaWVzU3ViamVjdC52YWx1ZSkpO1xuICAgICAgICBpZiAoIWNvZGUpIGNvZGUgPSB0aGlzLmZpbmRDb2RlKHNsdWcsIHRoaXMuZ2VuZXJhdGVNZW51KHRoaXMuYXR0cmlidXRlc1N1YmplY3QudmFsdWUpKTtcbiAgICAgICAgcmV0dXJuIGNvZGUgfHwgc2x1ZztcbiAgICB9XG5cbiAgICBnZXRIaWdoZXIgPSAoY29kZSkgPT4ge1xuICAgICAgICBsZXQgaGlnaGVyX2NvZGU7XG4gICAgICAgIGhpZ2hlcl9jb2RlID0gdGhpcy5kYXRhLmZpbmQoZWxlbWVudCA9PiAhKGVsZW1lbnQuY29kZSA9PSBjb2RlKSAmJiAhdGhpcy5pc1N1YkVsZW1lbnQoZWxlbWVudC5jaGlsZHJlbiwgY29kZSkpLmNvZGU7XG4gICAgICAgIHJldHVybiBoaWdoZXJfY29kZSB8fCAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBBUElTXG4gICAgICovXG5cbiAgICBwcml2YXRlIGNtc0Jhc2UgPSAoKSA9PiAnY21zLycgKyB0aGlzLmNvbnN0YW50cy5nZXRMb2NhbGUoKTtcbiAgICBwcml2YXRlIGNtc0NoYW5uZWwgPSAoKSA9PiAnY21zLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCk7XG4gICAgcHJpdmF0ZSBzaG9wQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCk7XG5cbiAgICBwcml2YXRlIGZhcXNBcGkgPSAoKSA9PiAnY21zLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL2ZhcSc7XG4gICAgLy8gcHJpdmF0ZSBzZWN0aW9uc0FwaSA9ICgpID0+IHRoaXMuY21zQmFzZSgpICsgJy9zZWN0aW9ucy8nO1xuICAgIHByaXZhdGUgc2VjdGlvbnNBcGkgPSAoKSA9PiB0aGlzLmNtc0NoYW5uZWwoKSArICcvc2VjdGlvbnMvJyArICc/bG9jYWxlPScgKyB0aGlzLmNvbnN0YW50cy5nZXRMb2NhbGUoKTtcbiAgICBwcml2YXRlIHNlY3Rpb25CeUNvZGVBcGkgPSAoY29kZSkgPT4gdGhpcy5jbXNCYXNlKCkgKyAnL3BhZ2VzLycgKyBjb2RlO1xuICAgIC8vIHByaXZhdGUgcGFnZUNvbnRlbnRCeUNvZGVBcGkgPSAoY29kZSkgPT4gdGhpcy5jbXNCYXNlKCkgKyAnLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL3BhZ2UvJyArIGNvZGU7XG4gICAgcHJpdmF0ZSBwYWdlQ29udGVudEJ5Q29kZUFwaSA9IChjb2RlKSA9PiB0aGlzLmNtc0Jhc2UoKSArICcvJyArIHRoaXMuY29uc3RhbnRzLmdldENoYW5uZWwoKSArICcvcGFnZS8nICsgY29kZTtcbiAgICBwcml2YXRlIHRheG9uc0FwaSA9ICgpID0+IHRoaXMuc2hvcEFwaSgpICsgJy90YXhvbnMvJyArICc/bG9jYWxlPScgKyB0aGlzLmNvbnN0YW50cy5nZXRMb2NhbGUoKTtcbiAgICBwcml2YXRlIGF0dHJpYnV0ZXNBcGkgPSAoKSA9PiB0aGlzLnNob3BBcGkoKSArICcvYXR0cmlidXRlcy1saXN0JyArICc/bG9jYWxlPScgKyB0aGlzLmNvbnN0YW50cy5nZXRMb2NhbGUoKTtcbiAgICBwcml2YXRlIGF0dHJpYnV0ZXNBcGkyID0gKGZpbHRlcnMgPSAnJykgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL3Byb2R1Y3Qtc2VhcmNoL2F0dHJpYnV0ZXMvJyArICc/bG9jYWxlPScgKyB0aGlzLmNvbnN0YW50cy5nZXRMb2NhbGUoKSArICcmbGltaXQ9MSZwYWdlPTEnICsgZmlsdGVycztcbiAgICAvKipcbiAgICAgKiBAcHVibGljXG4gICAgICogVVRJTFNcbiAgICAgKi9cblxuICAgIGFkZEF0dHJpYnV0ZXNTbHVnID0gKGF0dHJpYnV0ZXMpID0+IGF0dHJpYnV0ZXMubWFwKFxuICAgICAgICBhdHRyaWJ1dGUgPT4geyByZXR1cm4geyAuLi5hdHRyaWJ1dGUsIGNoaWxkcmVuOiBhdHRyaWJ1dGUuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHsgcmV0dXJuIHsgLi4uY2hpbGQsIHNsdWc6IHRoaXMuc2x1Z2lmeShjaGlsZC5uYW1lKSB9IH0pIH0gfVxuICAgICk7XG5cbiAgICBzbHVnaWZ5ID0gKHRleHQ6IHN0cmluZykgPT4gdGhpcy5yZW1vdmVBY2NlbnRzKHRleHQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8gJiAvZywgJyAnKS5yZXBsYWNlKC8gL2csICctJykucmVwbGFjZSgvXFwvL2csICctJykucmVwbGFjZSgvw7EvZywgJ24nKSk7XG5cbiAgICBnZW5lcmF0ZU1lbnUgPSAoZWxlbWVudHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnRzLm1hcChzdWJlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgICAgICAoc3ViZWxlbWVudC5jaGlsZHJlbiAmJiBzdWJlbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA9PSAwKSA/IHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICAuLi5zdWJlbGVtZW50LFxuICAgICAgICAgICAgICAgIHRpdGxlOiBzdWJlbGVtZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgcGF0aDogc3ViZWxlbWVudC5wYXRoLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3ViZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHN1YmVsZW1lbnQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1YicsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IHN1YmVsZW1lbnQucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IChzdWJlbGVtZW50LmNoaWxkcmVuID8gdGhpcy5nZW5lcmF0ZU1lbnUoc3ViZWxlbWVudC5jaGlsZHJlbikgOiBbXSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQWNjZW50cyA9IChzdHIpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0ci5ub3JtYWxpemUoXCJORkRcIikucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgXCJcIik7XG4gICAgfVxuXG4gICAgZ2V0QnJlYWRjcnVtYiA9IChjb2RlKSA9PiB7XG4gICAgICAgIGlmICghY29kZSkgcmV0dXJuIG51bGw7XG4gICAgICAgIGxldCBicmVhZGNydW1iID0gdGhpcy5nZW5lcmF0ZUJyZWFkY3J1bWIoY29kZSwgdGhpcy5nZW5lcmF0ZU1lbnUodGhpcy5jYXRlZ29yaWVzU3ViamVjdC52YWx1ZSksIFtdKTtcbiAgICAgICAgaWYgKCFicmVhZGNydW1iIHx8ICFicmVhZGNydW1iLmxlbmd0aCkgYnJlYWRjcnVtYiA9IHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1iKGNvZGUsIHRoaXMuZ2VuZXJhdGVNZW51KHRoaXMuYXR0cmlidXRlc1N1YmplY3QudmFsdWUpLCBbXSk7XG4gICAgICAgIHJldHVybiAoYnJlYWRjcnVtYiAmJiBicmVhZGNydW1iLmxlbmd0aCkgJiYgYnJlYWRjcnVtYi5yZXZlcnNlKCk7XG4gICAgfVxuXG4gICAgZ2V0QnJlYWRjcnVtYkJ5RmlsdGVycyA9IChmaWx0ZXJzOiBGaWx0ZXJbXSkgPT4ge1xuICAgICAgICBsZXQgZmluYWxfcmVzdWx0ID0gW107XG4gICAgICAgIGZpbHRlcnMuZm9yRWFjaChmaWx0ZXIgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGZpbHRlci5nZXRTZWxlY3RlZExpc3QoKTtcbiAgICAgICAgICAgIGlmICghcmVzdWx0IHx8ICFyZXN1bHQubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgICAgICAgIGlmIChmaWx0ZXIudHlwZSgpID09ICdjYXRlZ29yeScpIGZpbmFsX3Jlc3VsdC51bnNoaWZ0KC4uLnRoaXMuZ2VuZXJhdGVCcmVhZGNydW1iKHJlc3VsdFswXSwgZmlsdGVyLmRhdGEsIFtdKS5yZXZlcnNlKCkpO1xuICAgICAgICAgICAgZWxzZSByZXN1bHQuZm9yRWFjaChcbiAgICAgICAgICAgICAgICBjb2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGJyZWFkY3J1bWIgPSB0aGlzLmdlbmVyYXRlQnJlYWRjcnVtYihjb2RlLCBmaWx0ZXIuZGF0YSwgW10pXG4gICAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWIubGVuZ3RoICYmIGZpbmFsX3Jlc3VsdC5wdXNoKGJyZWFkY3J1bWJbMF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmaW5hbF9yZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUJyZWFkY3J1bWIgPSAoY29kZSwgZWxlbWVudHMsIHJlc3VsdCkgPT4ge1xuICAgICAgICBsZXQgZWxlbWVudCA9IGVsZW1lbnRzLmZpbmQoZWxlbSA9PiBlbGVtLmNvZGUgPT0gY29kZSk7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVsZW1lbnRzLnNvbWUoZWxlbSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW0uY2hpbGRyZW4gJiYgZWxlbS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gcmVzdWx0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld19yZXN1bHQgPSB0aGlzLmdlbmVyYXRlQnJlYWRjcnVtYihjb2RlLCBlbGVtLmNoaWxkcmVuLCByZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV3X3Jlc3VsdC5sZW5ndGggPiBsZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IG5ld19yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChlbGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
@@ -3548,14 +3548,6 @@ let ChannelConfigService = class ChannelConfigService {
3548
3548
  this.getChannels();
3549
3549
  this.getLocales();
3550
3550
  }
3551
- /**
3552
- * @description Devuelve si se deben mostrar precios con impuestos durante la navegación.
3553
- * @returns {boolean | null} true/false si está definido, null si aún no hay configuración
3554
- */
3555
- getShowPricesWithTaxes() {
3556
- var _a, _b;
3557
- return _b = (_a = this.channel) === null || _a === void 0 ? void 0 : _a.showPriceWithTaxesWhileBrowsing, (_b !== null && _b !== void 0 ? _b : null);
3558
- }
3559
3551
  };
3560
3552
  ChannelConfigService.ctorParameters = () => [
3561
3553
  { type: Constants },
@@ -7533,6 +7525,8 @@ let SuccessEcComponent = class SuccessEcComponent extends ComponentHelper {
7533
7525
  this.orderDetails = {};
7534
7526
  this.params = {};
7535
7527
  this.from_mp = true;
7528
+ this.totalAmount = null;
7529
+ this.paymentDate = null;
7536
7530
  /**
7537
7531
  * @description Chequea si existe un bloque recibido por parametro.
7538
7532
  * @param codeBlock codigo del bloque.
@@ -7540,17 +7534,27 @@ let SuccessEcComponent = class SuccessEcComponent extends ComponentHelper {
7540
7534
  */
7541
7535
  this.containsBlock = (codeBlock) => this.blocks.find(block => block.code == codeBlock);
7542
7536
  this.isBalanceInAccount = (code) => code && code.toLocaleLowerCase().includes('balance_in_account');
7537
+ this.isPlaceToPay = (code) => code && code.toLocaleLowerCase().includes('place_to_pay');
7543
7538
  this.ecOnConstruct();
7544
7539
  }
7545
7540
  ngOnInit() {
7546
7541
  this.checkoutService.order$.subscribe(res => {
7547
- var _a, _b;
7542
+ var _a, _b, _c, _d, _e, _f, _g, _h;
7548
7543
  //console.log('LO QUE LLEGA EN ORDEN', res);
7549
7544
  ((_a = res) === null || _a === void 0 ? void 0 : _a.number) ? this.params = {
7550
7545
  external_reference: res.number,
7551
7546
  } : null;
7552
7547
  //this.payments = [{method:{code:'bank_transsfer'}}]
7553
7548
  this.payments = ((_b = res) === null || _b === void 0 ? void 0 : _b.payments) ? res.payments : null;
7549
+ if (((_e = (_d = (_c = this.payments) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.method) === null || _e === void 0 ? void 0 : _e.code) && this.isPlaceToPay(this.payments[0].method.code)) {
7550
+ this.totalAmount = (_h = (_g = (_f = res) === null || _f === void 0 ? void 0 : _f.totals) === null || _g === void 0 ? void 0 : _g.total, (_h !== null && _h !== void 0 ? _h : null));
7551
+ const now = new Date();
7552
+ this.paymentDate = now.toLocaleDateString('es-AR', {
7553
+ day: '2-digit',
7554
+ month: '2-digit',
7555
+ year: 'numeric',
7556
+ });
7557
+ }
7554
7558
  });
7555
7559
  this.blocksService.getBlocks('info_metodo_pago');
7556
7560
  this.blocksService.blocks.subscribe(res => this.blocks = res);
@@ -7568,7 +7572,7 @@ SuccessEcComponent.ctorParameters = () => [
7568
7572
  SuccessEcComponent = __decorate$U([
7569
7573
  Component({
7570
7574
  selector: 'app-order-success-ec',
7571
- template: "<div id=\"container\" class=\"flex-center generalContainer container-xl\">\n <div class=\"Main card my-2\" *ngIf=\"this.payments && this.payments[0].method.code; else loading\">\n <ng-container *ngIf=\"this.blocks && this.blocks.length > 0; else notInfoToMethod\">\n <ng-container *ngIf=\"containsBlock(this.payments[0].method.code) as bloque; else notInfoToMethod\">\n <div class=\"wrap my-4 card-body\" [id]=\"bloque.code\">\n <div class=\"row\">\n <div class=\"col-md-12 col-12\">\n <h5 [class]=\"bloque.code+'-title'\">{{ (bloque?.translations[consts.getLocale()]?.name ?\n bloque.translations[consts.getLocale()].name :\n 'thanks-for-buying') | translate\n | uppercase }}</h5>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12 col-12 text-start\">\n <app-blocks-ec [section]=\"'info_metodo_pago'\" [blockFilters]=\"this.payments[0].method.code\">\n </app-blocks-ec>\n <div class=\"d-flex flex-column details\">\n <p class=\"card-text\">{{ ('number' | translate) + ': ' + params.external_reference }}</p>\n <p class=\"card-text\">\n {{ isBalanceInAccount(payments[0].method.code) ?\n ('balance-in-account-message' | translate) :\n ((params.payment_status || 'pending') | translate) }}\n </p>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #notInfoToMethod>\n <ng-template #defaultMessage>\n <div class=\"wrap my-4 card-body\">\n <div class=\"row\">\n <div class=\"col-md-12 col-12\">\n <h5 class=\"card-title titpage center-block text-center\">\n {{ 'thanks-for-buying' | translate | uppercase }}\n </h5>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12 col-12 text-center py-3\">\n <h4 class=\"thanks-details\">{{ 'thanks-details' | translate }}</h4>\n <h5 class=\"number\">{{ ('number' | translate) + ': ' + params.external_reference }}</h5>\n <h5 class=\"pending\">\n {{ isBalanceInAccount(payments[0].method.code) ?\n ('balance-in-account-message' | translate) :\n ((params.payment_status || 'pending') | translate) }}\n </h5>\n <!-- <h5 *ngIf=\"!from_mp\">{{ ('will_contact' | translate) }}</h5> -->\n\n <!-- <a routerLink=\"/collection\"><button class=\"comprar\">{{ 'continue-shopping' | translate }}</button></a> -->\n </div>\n </div>\n </div>\n </ng-template>\n <ng-container [ngTemplateOutlet]=\"notInfoToMethodTemplate ? notInfoToMethodTemplate : defaultMessage\"\n [ngTemplateOutletContext]=\"{params:params}\">\n </ng-container>\n </ng-template>\n </div>\n</div>\n\n<ng-template #loading>\n <app-loading-full-ec></app-loading-full-ec>\n</ng-template>",
7575
+ template: "<div id=\"container\" class=\"flex-center generalContainer container-xl\">\n <div class=\"Main card my-2\" *ngIf=\"this.payments && this.payments[0].method.code; else loading\">\n <ng-container *ngIf=\"this.blocks && this.blocks.length > 0; else notInfoToMethod\">\n <ng-container *ngIf=\"containsBlock(this.payments[0].method.code) as bloque; else notInfoToMethod\">\n <div class=\"wrap my-4 card-body\" [id]=\"bloque.code\">\n <div class=\"row\">\n <div class=\"col-md-12 col-12\">\n <h5 [class]=\"bloque.code+'-title'\">{{ (bloque?.translations[consts.getLocale()]?.name ?\n bloque.translations[consts.getLocale()].name :\n 'thanks-for-buying') | translate\n | uppercase }}</h5>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12 col-12 text-start\">\n <app-blocks-ec [section]=\"'info_metodo_pago'\" [blockFilters]=\"this.payments[0].method.code\">\n </app-blocks-ec>\n <div class=\"d-flex flex-column details\">\n <p class=\"card-text\">{{ ('number' | translate) + ': ' + params.external_reference }}</p>\n <p class=\"card-text\">\n {{ isBalanceInAccount(payments[0].method.code) ?\n ('balance-in-account-message' | translate) :\n ((params.payment_status || 'pending') | translate) }}\n </p>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #notInfoToMethod>\n <ng-template #defaultMessage>\n <div class=\"wrap my-4 card-body\">\n <div class=\"row\">\n <div class=\"col-md-12 col-12\">\n <h5 class=\"card-title titpage center-block text-center\">\n {{ 'thanks-for-buying' | translate | uppercase }}\n </h5>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12 col-12 text-center py-3\">\n <h4 class=\"thanks-details\">{{ 'thanks-details' | translate }}</h4>\n <h5 class=\"number order-info-line\" [ngClass]=\"{ 'compact': paymentDate && totalAmount }\">{{ ('number' | translate) + ': ' + params.external_reference }}</h5>\n <h5 class=\"order-info-line\" *ngIf=\"paymentDate && totalAmount\">\n {{'payment-date' | translate }}: {{ paymentDate }}\n </h5>\n <h5 class=\"order-info-line\" *ngIf=\"paymentDate && totalAmount\">\n {{'total-paid' | translate }}: {{ totalAmount | ecCurrencySymbol }}\n </h5>\n <h5 class=\"pending\">\n {{ isBalanceInAccount(payments[0].method.code) ?\n ('balance-in-account-message' | translate) :\n ((params.payment_status || 'pending') | translate) }}\n </h5>\n <!-- <h5 *ngIf=\"!from_mp\">{{ ('will_contact' | translate) }}</h5> -->\n\n <!-- <a routerLink=\"/collection\"><button class=\"comprar\">{{ 'continue-shopping' | translate }}</button></a> -->\n </div>\n </div>\n </div>\n </ng-template>\n <ng-container [ngTemplateOutlet]=\"notInfoToMethodTemplate ? notInfoToMethodTemplate : defaultMessage\"\n [ngTemplateOutletContext]=\"{params:params}\">\n </ng-container>\n </ng-template>\n </div>\n</div>\n\n<ng-template #loading>\n <app-loading-full-ec></app-loading-full-ec>\n</ng-template>",
7572
7576
  styles: [""]
7573
7577
  })
7574
7578
  ], SuccessEcComponent);
@@ -9201,9 +9205,10 @@ let ProductDetailEcComponent = class ProductDetailEcComponent extends ComponentH
9201
9205
  * @param forceMultiple si es true, obliga a que el resultado sea múltiplo de changeAmount.
9202
9206
  */
9203
9207
  this.plus = (stock, changeAmount = 1, forceMultiple = false) => {
9204
- let newQuantity = this.quantity + changeAmount;
9208
+ let currentQuantity = Number(this.quantity);
9209
+ let newQuantity = currentQuantity + changeAmount;
9205
9210
  if (forceMultiple && changeAmount > 0) {
9206
- if (this.quantity < changeAmount) {
9211
+ if (currentQuantity < changeAmount) {
9207
9212
  newQuantity = changeAmount;
9208
9213
  }
9209
9214
  else {
@@ -11483,8 +11488,8 @@ let RegisterFormEcComponent = class RegisterFormEcComponent extends ComponentHel
11483
11488
  }
11484
11489
  ngOnInit() {
11485
11490
  this.registerForm = this.formBuilder.group({
11486
- firstName: ['', Validators.required],
11487
- lastName: ['', Validators.required],
11491
+ firstName: ['', [Validators.required, Validators.pattern(/^[A-Za-zÁÉÍÓÚáéíóúÑñ\s]+$/)]],
11492
+ lastName: ['', [Validators.required, Validators.pattern(/^[A-Za-zÁÉÍÓÚáéíóúÑñ\s]+$/)]],
11488
11493
  email: ['', Validators.required],
11489
11494
  plainPassword: ['', Validators.required],
11490
11495
  plainPassword2: ['', Validators.required],
@@ -11983,8 +11988,8 @@ let RegisterWholesalerFormEcComponent = class RegisterWholesalerFormEcComponent
11983
11988
  ngOnInit() {
11984
11989
  this.paramsService.parameters.subscribe(res => this.params = res);
11985
11990
  this.registerForm = this.formBuilder.group({
11986
- firstName: ['', [Validators.required]],
11987
- lastName: ['', [Validators.required]],
11991
+ firstName: ['', [Validators.required, Validators.pattern(/^[A-Za-zÁÉÍÓÚáéíóúÑñ\s]+$/)]],
11992
+ lastName: ['', [Validators.required, Validators.pattern(/^[A-Za-zÁÉÍÓÚáéíóúÑñ\s]+$/)]],
11988
11993
  documentType: [null, [Validators.required]],
11989
11994
  documentNumber: ['', [Validators.required]],
11990
11995
  email: ['', [Validators.required, Validators.email]],