@hmcts/ccpay-web-component 6.0.0-beta12 → 6.0.0-beta15

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.
@@ -4,7 +4,6 @@
4
4
  */
5
5
  import { Injectable } from '@angular/core';
6
6
  import { HttpClient } from '@angular/common/http';
7
- import { v4 as uuidv4 } from 'uuid';
8
7
  import { PaymentLibService } from '../../payment-lib.service';
9
8
  import { WebComponentHttpClient } from '../shared/httpclient/webcomponent.http.client';
10
9
  import { ErrorHandlerService } from '../shared/error-handler.service';
@@ -85,7 +84,9 @@ export class PaymentViewService {
85
84
  postWays2PayCardPayment(serviceRef, body) {
86
85
  /** @type {?} */
87
86
  const url = `${this.paymentLibService.API_ROOT}/service-request/${serviceRef}/card-payments`;
88
- body['return-url'] = `${this.paymentLibService.CARDPAYMENTRETURNURL}/payment`;
87
+ /** @type {?} */
88
+ const rurl = this.paymentLibService.CARDPAYMENTRETURNURL.replace('.prod', '');
89
+ body['return-url'] = `${rurl}/payment`;
89
90
  return this.https.post(url, body).pipe(catchError(this.errorHandlerService.handleError));
90
91
  }
91
92
  /**
@@ -94,7 +95,9 @@ export class PaymentViewService {
94
95
  * @return {?}
95
96
  */
96
97
  postPBAaccountPayment(serviceRef, body) {
97
- body['idempotency_key'] = uuidv4();
98
+ /** @type {?} */
99
+ let randomKey = 'idam-key-' + Math.random().toString().split('.').join('-');
100
+ body['idempotency_key'] = randomKey;
98
101
  /** @type {?} */
99
102
  const url = `${this.paymentLibService.API_ROOT}/service-request/${serviceRef}/pba-payments`;
100
103
  return this.https.post(url, body);
@@ -282,4 +285,4 @@ if (false) {
282
285
  */
283
286
  PaymentViewService.prototype.paymentLibService;
284
287
  }
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFXaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVl2QyxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7OztJQUs3QixZQUFvQixJQUFnQixFQUNoQixLQUE2QixFQUM3QixNQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsaUJBQW9DO1FBSnBDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSaEQsZUFBVSxHQUFJLG1CQUF1QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBQSxDQUFDO0lBUXpCLENBQUM7Ozs7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O1lBR3RCLGFBQWE7WUFGYixtQkFBbUI7WUFGcEIsaUJBQWlCOzs7Ozs7OztJQTRCdkIsd0NBQXFGOzs7OztJQUVyRixrQ0FBbUI7Ozs7O0lBRVAsa0NBQXdCOzs7OztJQUN4QixtQ0FBcUM7Ozs7O0lBQ3JDLG9DQUE2Qjs7Ozs7SUFDN0IsaURBQWdEOzs7OztJQUNoRCwrQ0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQge0lQYXltZW50fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50JztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ViQ29tcG9uZW50SHR0cENsaWVudCB9IGZyb20gJy4uL3NoYXJlZC9odHRwY2xpZW50L3dlYmNvbXBvbmVudC5odHRwLmNsaWVudCc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgQWRkUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBQYXltZW50VG9QYXlodWJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXltZW50VG9QYXlodWJSZXF1ZXN0JztcbmltcG9ydCB7IFBheWh1YkFudGVubmFSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXlodWJBbnRlbm5hUmVxdWVzdCc7XG5pbXBvcnQgeyBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1VuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWxsb2NhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWxsb2NhdGVQYXltZW50UmVxdWVzdCc7XG5pbXBvcnQgeyBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHtJT3JkZXJSZWZlcmVuY2VGZWV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSU9yZGVyUmVmZXJlbmNlRmVlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0Q2FyZFBheW1lbnQnO1xuaW1wb3J0IHsgUmVmdW5kc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1JlZnVuZHNSZXF1ZXN0JztcbmltcG9ydCB7IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uJztcbmltcG9ydCB7IFBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Qb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG5pbXBvcnQgeyBlcnJvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy91dGlsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFZpZXdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcmRlcnNMaXN0ICA9IDxCZWhhdmlvclN1YmplY3Q8SU9yZGVyUmVmZXJlbmNlRmVlW10+Pm5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuXG4gIHByaXZhdGUgbWV0YTogTWV0YTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cHM6IFdlYkNvbXBvbmVudEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlKSB7IH1cblxuICBnZXRQYXltZW50RGV0YWlscyhwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRNZXRob2Q6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnQ+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBnZXRQYXltZW50RGV0YWlscyBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KHBheW1lbnRNZXRob2QgPT09ICdjYXJkJyB8fCBwYXltZW50TWV0aG9kID09PSAnY2FzaCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2NoZXF1ZScgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ3Bvc3RhbCBvcmRlcicgP1xuICAgICAgICAgIGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2NhcmQtcGF5bWVudHMvJHtwYXltZW50UmVmZXJlbmNlfWAgOlxuICAgICAgICAgIGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2NyZWRpdC1hY2NvdW50LXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBnZXRQYXltZW50R3JvdXBEZXRhaWxzKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudEdyb3VwPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyBmb3I6ICcsIHBheW1lbnRHcm91cFJlZmVyZW5jZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cbiAgZ2V0QXBwb3J0aW9uUGF5bWVudERldGFpbHMocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudEdyb3VwPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzL2ZlZS1wYXktYXBwb3J0aW9uLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuICBnZXRQQkFhY2NvdW50RGV0YWlscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BiYS1hY2NvdW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBwb3N0V2F5czJQYXlDYXJkUGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9zZXJ2aWNlLXJlcXVlc3QvJHtzZXJ2aWNlUmVmfS9jYXJkLXBheW1lbnRzYDtcbiAgICBib2R5WydyZXR1cm4tdXJsJ10gPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkNBUkRQQVlNRU5UUkVUVVJOVVJMfS9wYXltZW50YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KHVybCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgXG4gIHBvc3RQQkFhY2NvdW50UGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGJvZHlbJ2lkZW1wb3RlbmN5X2tleSddID0gdXVpZHY0KCk7IFxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3NlcnZpY2UtcmVxdWVzdC8ke3NlcnZpY2VSZWZ9L3BiYS1wYXltZW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdCh1cmwsIGJvZHkpO1xuICB9XG5cbiAgcG9zdEJTUGF5bWVudHMoYm9keTogQWxsb2NhdGVQYXltZW50UmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy9idWxrLXNjYW4tcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNVbmlkZW50aWZpZWRQYXltZW50cyhib2R5OiBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU1Vuc29saWNpdGVkUGF5bWVudHMoYm9keTogVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU0FsbG9jYXRpb25QYXltZW50cyhib2R5OiBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UGF5bWVudEdyb3VwV2l0aFJlbWlzc2lvbnMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIGZlZUlkOiBudW1iZXIsIGJvZHk6IEFkZFJlbWlzc2lvblJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9L2ZlZXMvJHtmZWVJZH0vcmVtaXNzaW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlRmVlRnJvbVBheW1lbnRHcm91cChmZWVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZGVsZXRlRmVlRnJvbVBheW1lbnRHcm91cCBmb3I6ICcsIGZlZUlkKTtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5kZWxldGUoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vZmVlcy8ke2ZlZUlkfWApLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RQYXltZW50VG9QYXlIdWIoYm9keTogUGF5bWVudFRvUGF5aHViUmVxdWVzdCwgcGF5bWVudEdyb3VwUmVmOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZ9L2NhcmQtcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RQYXltZW50QW50ZW5uYVRvUGF5SHViKGJvZHk6IFBheWh1YkFudGVubmFSZXF1ZXN0LCBwYXltZW50R3JvdXBSZWY6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZn0vdGVsZXBob255LWNhcmQtcGF5bWVudHNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBkb3dubG9hZFNlbGVjdGVkUmVwb3J0KHJlcG9ydE5hbWU6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6c3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZXBvcnQvZGF0YT9kYXRlX2Zyb209JHtzdGFydERhdGV9JmRhdGVfdG89JHtlbmREYXRlfSZyZXBvcnRfdHlwZT0ke3JlcG9ydE5hbWV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldEJTZmVhdHVyZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCgnYXBpL3BheW1lbnQtaGlzdG9yeS9idWxrLXNjYW4tZmVhdHVyZScsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0U2l0ZUlEKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KCdhcGkvcGF5bWVudC1oaXN0b3J5L3JlZmRhdGEvbGVnYWN5LXNpdGVzJywgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRQYXJ0eURldGFpbHMoY2FzZU51bWJlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jYXNlLXBheW1lbnQtb3JkZXJzP2Nhc2VfaWRzPSR7Y2FzZU51bWJlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgXG4gIHNldE9yZGVyc0xpc3Qob3JkZXJMZXZlbEZlZXM6IElPcmRlclJlZmVyZW5jZUZlZVtdKTogdm9pZCB7XG4gICAgdGhpcy5vcmRlcnNMaXN0Lm5leHQoT2JqZWN0LmFzc2lnbihbXSwgb3JkZXJMZXZlbEZlZXMpKTtcbn1cbiAgZ2V0T3JkZXJzTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5vcmRlcnNMaXN0O1xuICB9XG5cbiAgLy9pc3N1ZSByZWZ1bmRcbiAgcG9zdFJlZnVuZHNSZWFzb24oYm9keTogUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3JlZnVuZC1mb3ItcGF5bWVudGAsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgLy8gcmV0cm8gcmVtaXNzaW9uc1xuICBwb3N0UGF5bWVudEdyb3VwV2l0aFJldHJvUmVtaXNzaW9ucyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZywgZmVlSWQ6IG51bWJlciwgYm9keTogQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfS9mZWVzLyR7ZmVlSWR9L3JldHJvLXJlbWlzc2lvbmAsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uKGJvZHk6UG9zdElzc3VlUmVmdW5kUmV0cm9SZW1pc3Npb24pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3JlZnVuZC1yZXRyby1yZW1pc3Npb25gLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxufVxuIl19
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBSS9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFXaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVl2QyxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7OztJQUs3QixZQUFvQixJQUFnQixFQUNoQixLQUE2QixFQUM3QixNQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsaUJBQW9DO1FBSnBDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSaEQsZUFBVSxHQUFJLG1CQUF1QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBQSxDQUFDO0lBUXpCLENBQUM7Ozs7OztJQUU3RCxpQkFBaUIsQ0FBQyxnQkFBd0IsRUFBRSxhQUFxQjtRQUMvRCxJQUFJLENB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bUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDOzs7WUExSkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBOUJRLFVBQVU7WUFLVixzQkFBc0I7WUFHdEIsYUFBYTtZQUZiLG1CQUFtQjtZQUZwQixpQkFBaUI7Ozs7Ozs7O0lBNEJ2Qix3Q0FBcUY7Ozs7O0lBRXJGLGtDQUFtQjs7Ozs7SUFFUCxrQ0FBd0I7Ozs7O0lBQ3hCLG1DQUFxQzs7Ozs7SUFDckMsb0NBQTZCOzs7OztJQUM3QixpREFBZ0Q7Ozs7O0lBQ2hELCtDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7SVBheW1lbnR9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuaW1wb3J0IHtQYXltZW50TGliU2VydmljZX0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuc2VydmljZSc7XG5pbXBvcnQgeyBXZWJDb21wb25lbnRIdHRwQ2xpZW50IH0gZnJvbSAnLi4vc2hhcmVkL2h0dHBjbGllbnQvd2ViY29tcG9uZW50Lmh0dHAuY2xpZW50JztcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0lQYXltZW50R3JvdXB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnRHcm91cCc7XG5pbXBvcnQgeyBBZGRSZW1pc3Npb25SZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BZGRSZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBheW1lbnRUb1BheWh1YlJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1BheW1lbnRUb1BheWh1YlJlcXVlc3QnO1xuaW1wb3J0IHsgUGF5aHViQW50ZW5uYVJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1BheWh1YkFudGVubmFSZXF1ZXN0JztcbmltcG9ydCB7IFVuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5pZGVudGlmaWVkUGF5bWVudHNSZXF1ZXN0JztcbmltcG9ydCB7IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9VbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBNZXRhIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BbGxvY2F0ZVBheW1lbnRSZXF1ZXN0JztcbmltcG9ydCB7IElBbGxvY2F0aW9uUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQge0lPcmRlclJlZmVyZW5jZUZlZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JT3JkZXJSZWZlcmVuY2VGZWUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RQYmFQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RQYmFQYXltZW50JztcbmltcG9ydCB7IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCc7XG5pbXBvcnQgeyBSZWZ1bmRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUmVmdW5kc1JlcXVlc3QnO1xuaW1wb3J0IHsgQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BZGRSZXRyb1JlbWlzc2lvblJlcXVlc3QnO1xuaW1wb3J0IHsgUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Qb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24nO1xuaW1wb3J0IHsgUG9zdElzc3VlUmVmdW5kUmV0cm9SZW1pc3Npb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1Bvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uJztcbmltcG9ydCB7IGVycm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL3V0aWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50Vmlld1NlcnZpY2Uge1xuICBwcml2YXRlIG9yZGVyc0xpc3QgID0gPEJlaGF2aW9yU3ViamVjdDxJT3JkZXJSZWZlcmVuY2VGZWVbXT4+bmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG5cbiAgcHJpdmF0ZSBtZXRhOiBNZXRhO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBodHRwczogV2ViQ29tcG9uZW50SHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyU2VydmljZTogRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwYXltZW50TGliU2VydmljZTogUGF5bWVudExpYlNlcnZpY2UpIHsgfVxuXG4gIGdldFBheW1lbnREZXRhaWxzKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZywgcGF5bWVudE1ldGhvZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnREZXRhaWxzIGZvcjogJywgcGF5bWVudFJlZmVyZW5jZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4ocGF5bWVudE1ldGhvZCA9PT0gJ2NhcmQnIHx8IHBheW1lbnRNZXRob2QgPT09ICdjYXNoJyB8fCBwYXltZW50TWV0aG9kID09PSAnY2hlcXVlJyB8fCBwYXltZW50TWV0aG9kID09PSAncG9zdGFsIG9yZGVyJyA/XG4gICAgICAgICAgYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FyZC1wYXltZW50cy8ke3BheW1lbnRSZWZlcmVuY2V9YCA6XG4gICAgICAgICAgYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY3JlZGl0LWFjY291bnQtcGF5bWVudHMvJHtwYXltZW50UmVmZXJlbmNlfWAsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFBheW1lbnRHcm91cERldGFpbHMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQYXltZW50R3JvdXA+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBnZXRQYXltZW50R3JvdXBEZXRhaWxzIGZvcjogJywgcGF5bWVudEdyb3VwUmVmZXJlbmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuICBnZXRBcHBvcnRpb25QYXltZW50RGV0YWlscyhwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQYXltZW50R3JvdXA+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBnZXRQYXltZW50R3JvdXBEZXRhaWxzIGZvcjogJywgcGF5bWVudFJlZmVyZW5jZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvZmVlLXBheS1hcHBvcnRpb24vJHtwYXltZW50UmVmZXJlbmNlfWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG4gIGdldFBCQWFjY291bnREZXRhaWxzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGJhLWFjY291bnRzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuXG4gIHBvc3RXYXlzMlBheUNhcmRQYXltZW50KHNlcnZpY2VSZWY6IHN0cmluZywgYm9keTogSXNlcnZpY2VSZXF1ZXN0Q2FyZFBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3NlcnZpY2UtcmVxdWVzdC8ke3NlcnZpY2VSZWZ9L2NhcmQtcGF5bWVudHNgO1xuICAgIGNvbnN0IHJ1cmwgPSB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkNBUkRQQVlNRU5UUkVUVVJOVVJMLnJlcGxhY2UoJy5wcm9kJywgJycpO1xuICAgIGJvZHlbJ3JldHVybi11cmwnXSA9IGAke3J1cmx9L3BheW1lbnRgO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QodXJsLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBcbiAgcG9zdFBCQWFjY291bnRQYXltZW50KHNlcnZpY2VSZWY6IHN0cmluZywgYm9keTogSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHJhbmRvbUtleSA9ICdpZGFtLWtleS0nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygpLnNwbGl0KCcuJykuam9pbignLScpO1xuICAgIGJvZHlbJ2lkZW1wb3RlbmN5X2tleSddID0gcmFuZG9tS2V5OyBcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9zZXJ2aWNlLXJlcXVlc3QvJHtzZXJ2aWNlUmVmfS9wYmEtcGF5bWVudHNgO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QodXJsLCBib2R5KTtcbiAgfVxuXG4gIHBvc3RCU1BheW1lbnRzKGJvZHk6IEFsbG9jYXRlUGF5bWVudFJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvYnVsay1zY2FuLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTVW5pZGVudGlmaWVkUGF5bWVudHMoYm9keTogVW5pZGVudGlmaWVkUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNVbnNvbGljaXRlZFBheW1lbnRzKGJvZHk6IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNBbGxvY2F0aW9uUGF5bWVudHMoYm9keTogSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFBheW1lbnRHcm91cFdpdGhSZW1pc3Npb25zKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nLCBmZWVJZDogbnVtYmVyLCBib2R5OiBBZGRSZW1pc3Npb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfS9mZWVzLyR7ZmVlSWR9L3JlbWlzc2lvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZUZlZUZyb21QYXltZW50R3JvdXAoZmVlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGRlbGV0ZUZlZUZyb21QYXltZW50R3JvdXAgZm9yOiAnLCBmZWVJZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZGVsZXRlKGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2ZlZXMvJHtmZWVJZH1gKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0UGF5bWVudFRvUGF5SHViKGJvZHk6IFBheW1lbnRUb1BheWh1YlJlcXVlc3QsIHBheW1lbnRHcm91cFJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmfS9jYXJkLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UGF5bWVudEFudGVubmFUb1BheUh1Yihib2R5OiBQYXlodWJBbnRlbm5hUmVxdWVzdCwgcGF5bWVudEdyb3VwUmVmOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZ9L3RlbGVwaG9ueS1jYXJkLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgZG93bmxvYWRTZWxlY3RlZFJlcG9ydChyZXBvcnROYW1lOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOnN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcmVwb3J0L2RhdGE/ZGF0ZV9mcm9tPSR7c3RhcnREYXRlfSZkYXRlX3RvPSR7ZW5kRGF0ZX0mcmVwb3J0X3R5cGU9JHtyZXBvcnROYW1lfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRCU2ZlYXR1cmUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoJ2FwaS9wYXltZW50LWhpc3RvcnkvYnVsay1zY2FuLWZlYXR1cmUnLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldFNpdGVJRCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCgnYXBpL3BheW1lbnQtaGlzdG9yeS9yZWZkYXRhL2xlZ2FjeS1zaXRlcycsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0UGFydHlEZXRhaWxzKGNhc2VOdW1iZXI6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FzZS1wYXltZW50LW9yZGVycz9jYXNlX2lkcz0ke2Nhc2VOdW1iZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIFxuICBzZXRPcmRlcnNMaXN0KG9yZGVyTGV2ZWxGZWVzOiBJT3JkZXJSZWZlcmVuY2VGZWVbXSk6IHZvaWQge1xuICAgIHRoaXMub3JkZXJzTGlzdC5uZXh0KE9iamVjdC5hc3NpZ24oW10sIG9yZGVyTGV2ZWxGZWVzKSk7XG59XG4gIGdldE9yZGVyc0xpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJzTGlzdDtcbiAgfVxuXG4gIC8vaXNzdWUgcmVmdW5kXG4gIHBvc3RSZWZ1bmRzUmVhc29uKGJvZHk6IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtZm9yLXBheW1lbnRgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIC8vIHJldHJvIHJlbWlzc2lvbnNcbiAgcG9zdFBheW1lbnRHcm91cFdpdGhSZXRyb1JlbWlzc2lvbnMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIGZlZUlkOiBudW1iZXIsIGJvZHk6IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX0vZmVlcy8ke2ZlZUlkfS9yZXRyby1yZW1pc3Npb25gLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbihib2R5OlBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtcmV0cm8tcmVtaXNzaW9uYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==