@aneoconsultingfr/armonik.api.angular 3.9.0-edge.54.cf4e888 → 3.9.0-edge.56.4225cff

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.
@@ -42,6 +42,24 @@ class ResultsClient {
42
42
  responseClass: armonikApiGrpcV1Results005.ListResultsResponse
43
43
  });
44
44
  },
45
+ /**
46
+ * Unary call: /armonik.api.grpc.v1.results.Results/GetResult
47
+ *
48
+ * @param requestMessage Request message
49
+ * @param requestMetadata Request metadata
50
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Results005.GetResultResponse>>
51
+ */
52
+ getResult: (requestData, requestMetadata = new GrpcMetadata()) => {
53
+ return this.handler.handle({
54
+ type: GrpcCallType.unary,
55
+ client: this.client,
56
+ path: '/armonik.api.grpc.v1.results.Results/GetResult',
57
+ requestData,
58
+ requestMetadata,
59
+ requestClass: armonikApiGrpcV1Results005.GetResultRequest,
60
+ responseClass: armonikApiGrpcV1Results005.GetResultResponse
61
+ });
62
+ },
45
63
  /**
46
64
  * Unary call: /armonik.api.grpc.v1.results.Results/GetOwnerTaskId
47
65
  *
@@ -183,6 +201,18 @@ class ResultsClient {
183
201
  .listResults(requestData, requestMetadata)
184
202
  .pipe(throwStatusErrors(), takeMessages());
185
203
  }
204
+ /**
205
+ * Unary call @/armonik.api.grpc.v1.results.Results/GetResult
206
+ *
207
+ * @param requestMessage Request message
208
+ * @param requestMetadata Request metadata
209
+ * @returns Observable<armonikApiGrpcV1Results005.GetResultResponse>
210
+ */
211
+ getResult(requestData, requestMetadata = new GrpcMetadata()) {
212
+ return this.$raw
213
+ .getResult(requestData, requestMetadata)
214
+ .pipe(throwStatusErrors(), takeMessages());
215
+ }
186
216
  /**
187
217
  * Unary call @/armonik.api.grpc.v1.results.Results/GetOwnerTaskId
188
218
  *
@@ -283,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
283
313
  type: Inject,
284
314
  args: [GRPC_CLIENT_FACTORY]
285
315
  }] }, { type: i1.GrpcHandler }]; } });
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1zZXJ2aWNlLnBic2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmVvY29uc3VsdGluZ2ZyL2FybW9uaWsuYXBpLmFuZ3VsYXIvc3JjL2xpYi9nZW5lcmF0ZWQvcmVzdWx0cy1zZXJ2aWNlLnBic2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixjQUFjO0FBQ2QsRUFBRTtBQUNGLDJCQUEyQjtBQUMzQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxZQUFZLEVBSVosWUFBWSxFQUNiLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLG1CQUFtQixFQUVuQixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEIsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEtBQUssMEJBQTBCLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUN4RTs7R0FFRztBQUNILE1BQ2EsYUFBYTtJQXNNeEIsWUFDb0QsUUFBYSxFQUNsQyxhQUFxQyxFQUMxRCxPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBdE05Qjs7OztXQUlHO1FBQ0gsU0FBSSxHQUFHO1lBQ0w7Ozs7OztlQU1HO1lBQ0gsV0FBVyxFQUFFLENBQ1gsV0FBMEQsRUFDMUQsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFLEVBR3BDLEVBQUU7Z0JBQ0YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDekIsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLO29CQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JB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RyxJQUFJLFlBQVksRUFBRTtRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2Isa0JBQWtCLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQzthQUNoRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxpQkFBaUIsQ0FDZixXQUFnRSxFQUNoRSxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDL0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsdUJBQXVCLENBQ3JCLFdBQXNDLEVBQ3RDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRTtRQUlwQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsdUJBQXVCLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQzthQUNyRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7OEdBalZVLGFBQWEsa0JBdU1GLDRCQUE0Qiw2QkFDeEMsbUJBQW1CO2tIQXhNbEIsYUFBYSxjQURBLEtBQUs7O1NBQ2xCLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUU7OzBCQXdNNUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyw0QkFBNEI7OzBCQUMvQyxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuLy8gQHRzLW5vY2hlY2tcbi8vXG4vLyBUSElTIElTIEEgR0VORVJBVEVEIEZJTEVcbi8vIERPIE5PVCBNT0RJRlkgSVQhIFlPVVIgQ0hBTkdFUyBXSUxMIEJFIExPU1RcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEdycGNDYWxsVHlwZSxcbiAgR3JwY0NsaWVudCxcbiAgR3JwY0NsaWVudEZhY3RvcnksXG4gIEdycGNFdmVudCxcbiAgR3JwY01ldGFkYXRhXG59IGZyb20gJ0BuZ3gtZ3JwYy9jb21tb24nO1xuaW1wb3J0IHtcbiAgR1JQQ19DTElFTlRfRkFDVE9SWSxcbiAgR3JwY0hhbmRsZXIsXG4gIHRha2VNZXNzYWdlcyxcbiAgdGhyb3dTdGF0dXNFcnJvcnNcbn0gZnJvbSAnQG5neC1ncnBjL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgdGhpc1Byb3RvIGZyb20gJy4vcmVzdWx0cy1zZXJ2aWNlLnBiJztcbmltcG9ydCAqIGFzIGdvb2dsZVByb3RvYnVmMDAwIGZyb20gJ0BuZ3gtZ3JwYy93ZWxsLWtub3duLXR5cGVzJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFUYXNrX3N0YXR1czAwMSBmcm9tICcuL3Rhc2stc3RhdHVzLnBiJztcbmltcG9ydCAqIGFzIGdvb2dsZVByb3RvYnVmMDAyIGZyb20gJ0BuZ3gtZ3JwYy93ZWxsLWtub3duLXR5cGVzJztcbmltcG9ydCAqIGFzIGFybW9uaWtBcGlHcnBjVjFSZXN1bHRfc3RhdHVzMDAzIGZyb20gJy4vcmVzdWx0LXN0YXR1cy5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxMDA0IGZyb20gJy4vb2JqZWN0cy5wYic7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNSBmcm9tICcuL3Jlc3VsdHMtY29tbW9uLnBiJztcbmltcG9ydCB7IEdSUENfUkVTVUxUU19DTElFTlRfU0VUVElOR1MgfSBmcm9tICcuL3Jlc3VsdHMtc2VydmljZS5wYmNvbmYnO1xuLyoqXG4gKiBTZXJ2aWNlIGNsaWVudCBpbXBsZW1lbnRhdGlvbiBmb3IgYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHNcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAnYW55JyB9KVxuZXhwb3J0IGNsYXNzIFJlc3VsdHNDbGllbnQge1xuICBwcml2YXRlIGNsaWVudDogR3JwY0NsaWVudDxhbnk+O1xuXG4gIC8qKlxuICAgKiBSYXcgUlBDIGltcGxlbWVudGF0aW9uIGZvciBlYWNoIHNlcnZpY2UgY2xpZW50IG1ldGhvZC5cbiAgICogVGhlIHJhdyBtZXRob2RzIHByb3ZpZGUgbW9yZSBjb250cm9sIG9uIHRoZSBpbmNvbWluZyBkYXRhIGFuZCBldmVudHMuIEUuZy4gdGhleSBjYW4gYmUgdXNlZnVsIHRvIHJlYWQgc3RhdHVzIGBPS2AgbWV0YWRhdGEuXG4gICAqIEF0dGVudGlvbjogdGhlc2UgbWV0aG9kcyBkbyBub3QgdGhyb3cgZXJyb3JzIHdoZW4gbm9uLXplcm8gc3RhdHVzIGNvZGVzIGFyZSByZWNlaXZlZC5cbiAgICovXG4gICRyYXcgPSB7XG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0xpc3RSZXN1bHRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuTGlzdFJlc3VsdHNSZXNwb25zZT4+XG4gICAgICovXG4gICAgbGlzdFJlc3VsdHM6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5MaXN0UmVzdWx0c1JlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1Lkxpc3RSZXN1bHRzUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9MaXN0UmVzdWx0cycsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuTGlzdFJlc3VsdHNSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5MaXN0UmVzdWx0c1Jlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9HZXRPd25lclRhc2tJZFxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkdldE93bmVyVGFza0lkUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGdldE93bmVyVGFza0lkOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0T3duZXJUYXNrSWRSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5HZXRPd25lclRhc2tJZFJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvR2V0T3duZXJUYXNrSWQnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkdldE93bmVyVGFza0lkUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0T3duZXJUYXNrSWRSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvQ3JlYXRlUmVzdWx0c01ldGFEYXRhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGNyZWF0ZVJlc3VsdHNNZXRhRGF0YTogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNNZXRhRGF0YVJlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNNZXRhRGF0YVJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvQ3JlYXRlUmVzdWx0c01ldGFEYXRhJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvQ3JlYXRlUmVzdWx0c1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNSZXNwb25zZT4+XG4gICAgICovXG4gICAgY3JlYXRlUmVzdWx0czogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5DcmVhdGVSZXN1bHRzUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5DcmVhdGVSZXN1bHRzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuQ3JlYXRlUmVzdWx0c1Jlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIENsaWVudCBzdHJlYW1pbmc6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9VcGxvYWRSZXN1bHREYXRhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuVXBsb2FkUmVzdWx0RGF0YVJlc3BvbnNlPj5cbiAgICAgKi9cbiAgICB1cGxvYWRSZXN1bHREYXRhOiAoXG4gICAgICByZXF1ZXN0RGF0YTogT2JzZXJ2YWJsZTxcbiAgICAgICAgYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuVXBsb2FkUmVzdWx0RGF0YVJlcXVlc3RcbiAgICAgID4sXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LlVwbG9hZFJlc3VsdERhdGFSZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLmNsaWVudFN0cmVhbSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9VcGxvYWRSZXN1bHREYXRhJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5VcGxvYWRSZXN1bHREYXRhUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuVXBsb2FkUmVzdWx0RGF0YVJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFNlcnZlciBzdHJlYW1pbmc6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9Eb3dubG9hZFJlc3VsdERhdGFcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZT4+XG4gICAgICovXG4gICAgZG93bmxvYWRSZXN1bHREYXRhOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuRG93bmxvYWRSZXN1bHREYXRhUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuRG93bmxvYWRSZXN1bHREYXRhUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS5zZXJ2ZXJTdHJlYW0sXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvRG93bmxvYWRSZXN1bHREYXRhJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5Eb3dubG9hZFJlc3VsdERhdGFSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvRGVsZXRlUmVzdWx0c0RhdGFcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5EZWxldGVSZXN1bHRzRGF0YVJlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBkZWxldGVSZXN1bHRzRGF0YTogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkRlbGV0ZVJlc3VsdHNEYXRhUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuRGVsZXRlUmVzdWx0c0RhdGFSZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0RlbGV0ZVJlc3VsdHNEYXRhJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5EZWxldGVSZXN1bHRzRGF0YVJlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkRlbGV0ZVJlc3VsdHNEYXRhUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldFNlcnZpY2VDb25maWd1cmF0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuUmVzdWx0c1NlcnZpY2VDb25maWd1cmF0aW9uUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGdldFNlcnZpY2VDb25maWd1cmF0aW9uOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMTAwNC5FbXB0eSxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuUmVzdWx0c1NlcnZpY2VDb25maWd1cmF0aW9uUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9HZXRTZXJ2aWNlQ29uZmlndXJhdGlvbicsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMTAwNC5FbXB0eSxcbiAgICAgICAgcmVzcG9uc2VDbGFzczpcbiAgICAgICAgICBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5SZXN1bHRzU2VydmljZUNvbmZpZ3VyYXRpb25SZXNwb25zZVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoR1JQQ19SRVNVTFRTX0NMSUVOVF9TRVRUSU5HUykgc2V0dGluZ3M6IGFueSxcbiAgICBASW5qZWN0KEdSUENfQ0xJRU5UX0ZBQ1RPUlkpIGNsaWVudEZhY3Rvcnk6IEdycGNDbGllbnRGYWN0b3J5PGFueT4sXG4gICAgcHJpdmF0ZSBoYW5kbGVyOiBHcnBjSGFuZGxlclxuICApIHtcbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudEZhY3RvcnkuY3JlYXRlQ2xpZW50KFxuICAgICAgJ2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzJyxcbiAgICAgIHNldHRpbmdzXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvTGlzdFJlc3VsdHNcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5MaXN0UmVzdWx0c1Jlc3BvbnNlPlxuICAgKi9cbiAgbGlzdFJlc3VsdHMoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1Lkxpc3RSZXN1bHRzUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5MaXN0UmVzdWx0c1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmxpc3RSZXN1bHRzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldE93bmVyVGFza0lkXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0T3duZXJUYXNrSWRSZXNwb25zZT5cbiAgICovXG4gIGdldE93bmVyVGFza0lkKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5HZXRPd25lclRhc2tJZFJlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0T3duZXJUYXNrSWRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5nZXRPd25lclRhc2tJZChyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzTWV0YURhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXNwb25zZT5cbiAgICovXG4gIGNyZWF0ZVJlc3VsdHNNZXRhRGF0YShcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5jcmVhdGVSZXN1bHRzTWV0YURhdGEocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvQ3JlYXRlUmVzdWx0c1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNSZXNwb25zZT5cbiAgICovXG4gIGNyZWF0ZVJlc3VsdHMoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5jcmVhdGVSZXN1bHRzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpZW50IHN0cmVhbWluZyBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL1VwbG9hZFJlc3VsdERhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5VcGxvYWRSZXN1bHREYXRhUmVzcG9uc2U+XG4gICAqL1xuICB1cGxvYWRSZXN1bHREYXRhKFxuICAgIHJlcXVlc3REYXRhOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LlVwbG9hZFJlc3VsdERhdGFSZXF1ZXN0PixcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5VcGxvYWRSZXN1bHREYXRhUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAudXBsb2FkUmVzdWx0RGF0YShyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcnZlciBzdHJlYW1pbmcgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9Eb3dubG9hZFJlc3VsdERhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZT5cbiAgICovXG4gIGRvd25sb2FkUmVzdWx0RGF0YShcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuRG93bmxvYWRSZXN1bHREYXRhUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5kb3dubG9hZFJlc3VsdERhdGEocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvRGVsZXRlUmVzdWx0c0RhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5EZWxldGVSZXN1bHRzRGF0YVJlc3BvbnNlPlxuICAgKi9cbiAgZGVsZXRlUmVzdWx0c0RhdGEoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkRlbGV0ZVJlc3VsdHNEYXRhUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5EZWxldGVSZXN1bHRzRGF0YVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmRlbGV0ZVJlc3VsdHNEYXRhKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldFNlcnZpY2VDb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuUmVzdWx0c1NlcnZpY2VDb25maWd1cmF0aW9uUmVzcG9uc2U+XG4gICAqL1xuICBnZXRTZXJ2aWNlQ29uZmlndXJhdGlvbihcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMTAwNC5FbXB0eSxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxcbiAgICBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5SZXN1bHRzU2VydmljZUNvbmZpZ3VyYXRpb25SZXNwb25zZVxuICA+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZ2V0U2VydmljZUNvbmZpZ3VyYXRpb24ocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxufVxuIl19
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy1zZXJ2aWNlLnBic2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmVvY29uc3VsdGluZ2ZyL2FybW9uaWsuYXBpLmFuZ3VsYXIvc3JjL2xpYi9nZW5lcmF0ZWQvcmVzdWx0cy1zZXJ2aWNlLnBic2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixjQUFjO0FBQ2QsRUFBRTtBQUNGLDJCQUEyQjtBQUMzQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxZQUFZLEVBSVosWUFBWSxFQUNiLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLG1CQUFtQixFQUVuQixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEIsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEtBQUssMEJBQTBCLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUN4RTs7R0FFRztBQUNILE1BQ2EsYUFBYTtJQTJOeEIsWUFDb0QsUUFBYSxFQUNsQyxhQUFxQyxFQUMxRCxPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBM045Qjs7OztXQUlHO1FBQ0gsU0FBSSxHQUFHO1lBQ0w7Ozs7OztlQU1HO1lBQ0gsV0FBVyxFQUFFLENBQ1gsV0FBMEQsRUFDMUQsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFLEVBR3BDLEVBQUU7Z0JBQ0YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDekIsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLO29CQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLElBQUksRUFBRSxrREFBa0Q7b0JBQ3hELFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixZQUFZLEVBQUUsMEJBQTBCLENBQUMsa0JBQWtCO29CQUMzRCxhQUFhLEVBQUUsMEJBQTBCLENBQUMsbUJBQW1CO2lCQUM5RCxDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0Q7Ozs7OztlQU1HO1lBQ0gsU0FBUyxFQUFFLENBQ1QsV0FBd0QsRUFDeEQsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFLEVBQ2lDLEVBQUU7Z0JBQ3ZFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQ3pCLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSztvQkFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNuQixJQUFJLEVBQUUsZ0RBQWdEO29CQUN0RCxXQUFXO29CQUNYLGVBQWU7b0JBQ2YsWUFBWSxFQUFFLDBCQUEwQixDQUFDLGdCQUFnQjtvQkFDekQsYUFBYSxFQUFFLDBCQUEwQixDQUFDLGlCQUFpQjtpQkFDNUQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILGNBQWMsRUFBRSxDQUNkLFdBQTZELEVBQzdELGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxFQUdwQyxFQUFFO2dCQUNGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQ3pCLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSztvQkFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNuQixJQUFJLEVBQUUscURBQXFEO29CQUMzRCxXQUFXO29CQUNYLGVBQWU7b0JBQ2YsWUFBWSxFQUFFLDBCQUEwQixDQUFDLHFCQUFxQjtvQkFDOUQsYUFBYSxFQUFFLDBCQUEwQixDQUFDLHNCQUFzQjtpQkFDakUsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILHFCQUFxQixFQUFFLENBQ3JCLFdBQW9FLEVBQ3BFLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxFQUdwQyxFQUFFO2dCQUNGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQ3pCLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSztvQkFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNuQixJQUFJLEVBQUUsNERBQTREO29CQUNsRSxXQUFXO29CQUNYLGVBQWU7b0JBQ2YsWUFBWSxFQUFFLDBCQUEwQixDQUFDLDRCQUE0QjtvQkFDckUsYUFBYSxFQUFFLDBCQUEwQixDQUFDLDZCQUE2QjtpQkFDeEUsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILGFBQWEsRUFBRSxDQUNiLFdBQTRELEVBQzVELGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxFQUdwQyxFQUFFO2dCQUNGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQ3pCLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSztvQkFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNuQixJQUFJLEVBQUUsb0RBQW9EO29CQUMxRCxXQUFXO29CQUNYLGVBQWU7b0JBQ2YsWUFBWSxFQUFFLDBCQUEwQixDQUFDLG9CQUFvQjtvQkFDN0QsYUFBYSxFQUFFLDBCQUEwQixDQUFDLHFCQUFxQjtpQkFDaEUsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILGdCQUFnQixFQUFFLENBQ2hCLFdBRUMsRUFDRCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFHcEMsRUFBRTtnQkFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLFlBQVk7b0JBQy9CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLHVEQUF1RDtvQkFDN0QsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSwwQkFBMEIsQ0FBQyx1QkFBdUI7b0JBQ2hFLGFBQWEsRUFBRSwwQkFBMEIsQ0FBQyx3QkFBd0I7aUJBQ25FLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCxrQkFBa0IsRUFBRSxDQUNsQixXQUFpRSxFQUNqRSxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFHcEMsRUFBRTtnQkFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLFlBQVk7b0JBQy9CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLHlEQUF5RDtvQkFDL0QsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSwwQkFBMEIsQ0FBQyx5QkFBeUI7b0JBQ2xFLGFBQWEsRUFBRSwwQkFBMEIsQ0FBQywwQkFBMEI7aUJBQ3JFLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCxpQkFBaUIsRUFBRSxDQUNqQixXQUFnRSxFQUNoRSxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFHcEMsRUFBRTtnQkFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLHdEQUF3RDtvQkFDOUQsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSwwQkFBMEIsQ0FBQyx3QkFBd0I7b0JBQ2pFLGFBQWEsRUFBRSwwQkFBMEIsQ0FBQyx5QkFBeUI7aUJBQ3BFLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCx1QkFBdUIsRUFBRSxDQUN2QixXQUFzQyxFQUN0QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFHcEMsRUFBRTtnQkFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUs7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsSUFBSSxFQUFFLDhEQUE4RDtvQkFDcEUsV0FBVztvQkFDWCxlQUFlO29CQUNmLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxLQUFLO29CQUN2QyxhQUFhLEVBQ1gsMEJBQTBCLENBQUMsbUNBQW1DO2lCQUNqRSxDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQztRQU9BLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FDdEMscUNBQXFDLEVBQ3JDLFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FDVCxXQUEwRCxFQUMxRCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLFdBQVcsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDO2FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFNBQVMsQ0FDUCxXQUF3RCxFQUN4RCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLFNBQVMsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDO2FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGNBQWMsQ0FDWixXQUE2RCxFQUM3RCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLGNBQWMsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDO2FBQzVDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHFCQUFxQixDQUNuQixXQUFvRSxFQUNwRSxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDbkQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsYUFBYSxDQUNYLFdBQTRELEVBQzVELGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRTtRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsYUFBYSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDM0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLENBQ2QsV0FBMkUsRUFDM0UsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFO1FBRXBDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDO2FBQzlDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGtCQUFrQixDQUNoQixXQUFpRSxFQUNqRSxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDaEQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsaUJBQWlCLENBQ2YsV0FBZ0UsRUFDaEUsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFO1FBRXBDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDO2FBQy9DLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHVCQUF1QixDQUNyQixXQUFzQyxFQUN0QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFJcEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7YUFDckQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQXRYVSxhQUFhLGtCQTRORiw0QkFBNEIsNkJBQ3hDLG1CQUFtQjtrSEE3TmxCLGFBQWEsY0FEQSxLQUFLOztTQUNsQixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFOzswQkE2TjVCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNEJBQTRCOzswQkFDL0MsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogZXNsaW50LWRpc2FibGUgKi9cbi8vIEB0cy1ub2NoZWNrXG4vL1xuLy8gVEhJUyBJUyBBIEdFTkVSQVRFRCBGSUxFXG4vLyBETyBOT1QgTU9ESUZZIElUISBZT1VSIENIQU5HRVMgV0lMTCBCRSBMT1NUXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBHcnBjQ2FsbFR5cGUsXG4gIEdycGNDbGllbnQsXG4gIEdycGNDbGllbnRGYWN0b3J5LFxuICBHcnBjRXZlbnQsXG4gIEdycGNNZXRhZGF0YVxufSBmcm9tICdAbmd4LWdycGMvY29tbW9uJztcbmltcG9ydCB7XG4gIEdSUENfQ0xJRU5UX0ZBQ1RPUlksXG4gIEdycGNIYW5kbGVyLFxuICB0YWtlTWVzc2FnZXMsXG4gIHRocm93U3RhdHVzRXJyb3JzXG59IGZyb20gJ0BuZ3gtZ3JwYy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIHRoaXNQcm90byBmcm9tICcuL3Jlc3VsdHMtc2VydmljZS5wYic7XG5pbXBvcnQgKiBhcyBnb29nbGVQcm90b2J1ZjAwMCBmcm9tICdAbmd4LWdycGMvd2VsbC1rbm93bi10eXBlcyc7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxVGFza19zdGF0dXMwMDEgZnJvbSAnLi90YXNrLXN0YXR1cy5wYic7XG5pbXBvcnQgKiBhcyBnb29nbGVQcm90b2J1ZjAwMiBmcm9tICdAbmd4LWdycGMvd2VsbC1rbm93bi10eXBlcyc7XG5pbXBvcnQgKiBhcyBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0X3N0YXR1czAwMyBmcm9tICcuL3Jlc3VsdC1zdGF0dXMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMTAwNCBmcm9tICcuL29iamVjdHMucGInO1xuaW1wb3J0ICogYXMgYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUgZnJvbSAnLi9yZXN1bHRzLWNvbW1vbi5wYic7XG5pbXBvcnQgeyBHUlBDX1JFU1VMVFNfQ0xJRU5UX1NFVFRJTkdTIH0gZnJvbSAnLi9yZXN1bHRzLXNlcnZpY2UucGJjb25mJztcbi8qKlxuICogU2VydmljZSBjbGllbnQgaW1wbGVtZW50YXRpb24gZm9yIGFybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ2FueScgfSlcbmV4cG9ydCBjbGFzcyBSZXN1bHRzQ2xpZW50IHtcbiAgcHJpdmF0ZSBjbGllbnQ6IEdycGNDbGllbnQ8YW55PjtcblxuICAvKipcbiAgICogUmF3IFJQQyBpbXBsZW1lbnRhdGlvbiBmb3IgZWFjaCBzZXJ2aWNlIGNsaWVudCBtZXRob2QuXG4gICAqIFRoZSByYXcgbWV0aG9kcyBwcm92aWRlIG1vcmUgY29udHJvbCBvbiB0aGUgaW5jb21pbmcgZGF0YSBhbmQgZXZlbnRzLiBFLmcuIHRoZXkgY2FuIGJlIHVzZWZ1bCB0byByZWFkIHN0YXR1cyBgT0tgIG1ldGFkYXRhLlxuICAgKiBBdHRlbnRpb246IHRoZXNlIG1ldGhvZHMgZG8gbm90IHRocm93IGVycm9ycyB3aGVuIG5vbi16ZXJvIHN0YXR1cyBjb2RlcyBhcmUgcmVjZWl2ZWQuXG4gICAqL1xuICAkcmF3ID0ge1xuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9MaXN0UmVzdWx0c1xuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1Lkxpc3RSZXN1bHRzUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGxpc3RSZXN1bHRzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuTGlzdFJlc3VsdHNSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5MaXN0UmVzdWx0c1Jlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvTGlzdFJlc3VsdHMnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1Lkxpc3RSZXN1bHRzUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuTGlzdFJlc3VsdHNSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvR2V0UmVzdWx0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0UmVzdWx0UmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGdldFJlc3VsdDogKFxuICAgICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkdldFJlc3VsdFJlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5HZXRSZXN1bHRSZXNwb25zZT4+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldFJlc3VsdCcsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0UmVzdWx0UmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0UmVzdWx0UmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogVW5hcnkgY2FsbDogL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldE93bmVyVGFza0lkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0T3duZXJUYXNrSWRSZXNwb25zZT4+XG4gICAgICovXG4gICAgZ2V0T3duZXJUYXNrSWQ6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5HZXRPd25lclRhc2tJZFJlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkdldE93bmVyVGFza0lkUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9HZXRPd25lclRhc2tJZCcsXG4gICAgICAgIHJlcXVlc3REYXRhLFxuICAgICAgICByZXF1ZXN0TWV0YWRhdGEsXG4gICAgICAgIHJlcXVlc3RDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0T3duZXJUYXNrSWRSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5HZXRPd25lclRhc2tJZFJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzTWV0YURhdGFcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXNwb25zZT4+XG4gICAgICovXG4gICAgY3JlYXRlUmVzdWx0c01ldGFEYXRhOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVzcG9uc2U+XG4gICAgPiA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLmhhbmRsZSh7XG4gICAgICAgIHR5cGU6IEdycGNDYWxsVHlwZS51bmFyeSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzTWV0YURhdGEnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNNZXRhRGF0YVJlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNNZXRhRGF0YVJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuQ3JlYXRlUmVzdWx0c1Jlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBjcmVhdGVSZXN1bHRzOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuQ3JlYXRlUmVzdWx0c1JlcXVlc3QsXG4gICAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgICApOiBPYnNlcnZhYmxlPFxuICAgICAgR3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNSZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0NyZWF0ZVJlc3VsdHMnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5DcmVhdGVSZXN1bHRzUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogQ2xpZW50IHN0cmVhbWluZzogL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL1VwbG9hZFJlc3VsdERhdGFcbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5VcGxvYWRSZXN1bHREYXRhUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIHVwbG9hZFJlc3VsdERhdGE6IChcbiAgICAgIHJlcXVlc3REYXRhOiBPYnNlcnZhYmxlPFxuICAgICAgICBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5VcGxvYWRSZXN1bHREYXRhUmVxdWVzdFxuICAgICAgPixcbiAgICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICAgICk6IE9ic2VydmFibGU8XG4gICAgICBHcnBjRXZlbnQ8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuVXBsb2FkUmVzdWx0RGF0YVJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUuY2xpZW50U3RyZWFtLFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL1VwbG9hZFJlc3VsdERhdGEnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LlVwbG9hZFJlc3VsdERhdGFSZXF1ZXN0LFxuICAgICAgICByZXNwb25zZUNsYXNzOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5VcGxvYWRSZXN1bHREYXRhUmVzcG9uc2VcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogU2VydmVyIHN0cmVhbWluZzogL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0Rvd25sb2FkUmVzdWx0RGF0YVxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkRvd25sb2FkUmVzdWx0RGF0YVJlc3BvbnNlPj5cbiAgICAgKi9cbiAgICBkb3dubG9hZFJlc3VsdERhdGE6IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5Eb3dubG9hZFJlc3VsdERhdGFSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnNlcnZlclN0cmVhbSxcbiAgICAgICAgY2xpZW50OiB0aGlzLmNsaWVudCxcbiAgICAgICAgcGF0aDogJy9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9Eb3dubG9hZFJlc3VsdERhdGEnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkRvd25sb2FkUmVzdWx0RGF0YVJlcXVlc3QsXG4gICAgICAgIHJlc3BvbnNlQ2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkRvd25sb2FkUmVzdWx0RGF0YVJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFVuYXJ5IGNhbGw6IC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9EZWxldGVSZXN1bHRzRGF0YVxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8R3JwY0V2ZW50PGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkRlbGV0ZVJlc3VsdHNEYXRhUmVzcG9uc2U+PlxuICAgICAqL1xuICAgIGRlbGV0ZVJlc3VsdHNEYXRhOiAoXG4gICAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuRGVsZXRlUmVzdWx0c0RhdGFSZXF1ZXN0LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5EZWxldGVSZXN1bHRzRGF0YVJlc3BvbnNlPlxuICAgID4gPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlci5oYW5kbGUoe1xuICAgICAgICB0eXBlOiBHcnBjQ2FsbFR5cGUudW5hcnksXG4gICAgICAgIGNsaWVudDogdGhpcy5jbGllbnQsXG4gICAgICAgIHBhdGg6ICcvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvRGVsZXRlUmVzdWx0c0RhdGEnLFxuICAgICAgICByZXF1ZXN0RGF0YSxcbiAgICAgICAgcmVxdWVzdE1ldGFkYXRhLFxuICAgICAgICByZXF1ZXN0Q2xhc3M6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkRlbGV0ZVJlc3VsdHNEYXRhUmVxdWVzdCxcbiAgICAgICAgcmVzcG9uc2VDbGFzczogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuRGVsZXRlUmVzdWx0c0RhdGFSZXNwb25zZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbmFyeSBjYWxsOiAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvR2V0U2VydmljZUNvbmZpZ3VyYXRpb25cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5SZXN1bHRzU2VydmljZUNvbmZpZ3VyYXRpb25SZXNwb25zZT4+XG4gICAgICovXG4gICAgZ2V0U2VydmljZUNvbmZpZ3VyYXRpb246IChcbiAgICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxMDA0LkVtcHR5LFxuICAgICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICAgKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdycGNFdmVudDxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5SZXN1bHRzU2VydmljZUNvbmZpZ3VyYXRpb25SZXNwb25zZT5cbiAgICA+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuaGFuZGxlKHtcbiAgICAgICAgdHlwZTogR3JwY0NhbGxUeXBlLnVuYXJ5LFxuICAgICAgICBjbGllbnQ6IHRoaXMuY2xpZW50LFxuICAgICAgICBwYXRoOiAnL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldFNlcnZpY2VDb25maWd1cmF0aW9uJyxcbiAgICAgICAgcmVxdWVzdERhdGEsXG4gICAgICAgIHJlcXVlc3RNZXRhZGF0YSxcbiAgICAgICAgcmVxdWVzdENsYXNzOiBhcm1vbmlrQXBpR3JwY1YxMDA0LkVtcHR5LFxuICAgICAgICByZXNwb25zZUNsYXNzOlxuICAgICAgICAgIGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LlJlc3VsdHNTZXJ2aWNlQ29uZmlndXJhdGlvblJlc3BvbnNlXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChHUlBDX1JFU1VMVFNfQ0xJRU5UX1NFVFRJTkdTKSBzZXR0aW5nczogYW55LFxuICAgIEBJbmplY3QoR1JQQ19DTElFTlRfRkFDVE9SWSkgY2xpZW50RmFjdG9yeTogR3JwY0NsaWVudEZhY3Rvcnk8YW55PixcbiAgICBwcml2YXRlIGhhbmRsZXI6IEdycGNIYW5kbGVyXG4gICkge1xuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50RmFjdG9yeS5jcmVhdGVDbGllbnQoXG4gICAgICAnYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMnLFxuICAgICAgc2V0dGluZ3NcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9MaXN0UmVzdWx0c1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1Lkxpc3RSZXN1bHRzUmVzcG9uc2U+XG4gICAqL1xuICBsaXN0UmVzdWx0cyhcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuTGlzdFJlc3VsdHNSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1Lkxpc3RSZXN1bHRzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAubGlzdFJlc3VsdHMocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvR2V0UmVzdWx0XG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0UmVzdWx0UmVzcG9uc2U+XG4gICAqL1xuICBnZXRSZXN1bHQoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkdldFJlc3VsdFJlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0UmVzdWx0UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZ2V0UmVzdWx0KHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldE93bmVyVGFza0lkXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0T3duZXJUYXNrSWRSZXNwb25zZT5cbiAgICovXG4gIGdldE93bmVyVGFza0lkKFxuICAgIHJlcXVlc3REYXRhOiBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5HZXRPd25lclRhc2tJZFJlcXVlc3QsXG4gICAgcmVxdWVzdE1ldGFkYXRhID0gbmV3IEdycGNNZXRhZGF0YSgpXG4gICk6IE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuR2V0T3duZXJUYXNrSWRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5nZXRPd25lclRhc2tJZChyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYXJ5IGNhbGwgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9DcmVhdGVSZXN1bHRzTWV0YURhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXNwb25zZT5cbiAgICovXG4gIGNyZWF0ZVJlc3VsdHNNZXRhRGF0YShcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuQ3JlYXRlUmVzdWx0c01ldGFEYXRhUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5DcmVhdGVSZXN1bHRzTWV0YURhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5jcmVhdGVSZXN1bHRzTWV0YURhdGEocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvQ3JlYXRlUmVzdWx0c1xuICAgKlxuICAgKiBAcGFyYW0gcmVxdWVzdE1lc3NhZ2UgUmVxdWVzdCBtZXNzYWdlXG4gICAqIEBwYXJhbSByZXF1ZXN0TWV0YWRhdGEgUmVxdWVzdCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNSZXNwb25zZT5cbiAgICovXG4gIGNyZWF0ZVJlc3VsdHMoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNSZXF1ZXN0LFxuICAgIHJlcXVlc3RNZXRhZGF0YSA9IG5ldyBHcnBjTWV0YWRhdGEoKVxuICApOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkNyZWF0ZVJlc3VsdHNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5jcmVhdGVSZXN1bHRzKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpZW50IHN0cmVhbWluZyBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL1VwbG9hZFJlc3VsdERhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5VcGxvYWRSZXN1bHREYXRhUmVzcG9uc2U+XG4gICAqL1xuICB1cGxvYWRSZXN1bHREYXRhKFxuICAgIHJlcXVlc3REYXRhOiBPYnNlcnZhYmxlPGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LlVwbG9hZFJlc3VsdERhdGFSZXF1ZXN0PixcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5VcGxvYWRSZXN1bHREYXRhUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAudXBsb2FkUmVzdWx0RGF0YShyZXF1ZXN0RGF0YSwgcmVxdWVzdE1ldGFkYXRhKVxuICAgICAgLnBpcGUodGhyb3dTdGF0dXNFcnJvcnMoKSwgdGFrZU1lc3NhZ2VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcnZlciBzdHJlYW1pbmcgQC9hcm1vbmlrLmFwaS5ncnBjLnYxLnJlc3VsdHMuUmVzdWx0cy9Eb3dubG9hZFJlc3VsdERhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZT5cbiAgICovXG4gIGRvd25sb2FkUmVzdWx0RGF0YShcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuRG93bmxvYWRSZXN1bHREYXRhUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5Eb3dubG9hZFJlc3VsdERhdGFSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLiRyYXdcbiAgICAgIC5kb3dubG9hZFJlc3VsdERhdGEocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmFyeSBjYWxsIEAvYXJtb25pay5hcGkuZ3JwYy52MS5yZXN1bHRzLlJlc3VsdHMvRGVsZXRlUmVzdWx0c0RhdGFcbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3RNZXNzYWdlIFJlcXVlc3QgbWVzc2FnZVxuICAgKiBAcGFyYW0gcmVxdWVzdE1ldGFkYXRhIFJlcXVlc3QgbWV0YWRhdGFcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5EZWxldGVSZXN1bHRzRGF0YVJlc3BvbnNlPlxuICAgKi9cbiAgZGVsZXRlUmVzdWx0c0RhdGEoXG4gICAgcmVxdWVzdERhdGE6IGFybW9uaWtBcGlHcnBjVjFSZXN1bHRzMDA1LkRlbGV0ZVJlc3VsdHNEYXRhUmVxdWVzdCxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5EZWxldGVSZXN1bHRzRGF0YVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuJHJhd1xuICAgICAgLmRlbGV0ZVJlc3VsdHNEYXRhKHJlcXVlc3REYXRhLCByZXF1ZXN0TWV0YWRhdGEpXG4gICAgICAucGlwZSh0aHJvd1N0YXR1c0Vycm9ycygpLCB0YWtlTWVzc2FnZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5hcnkgY2FsbCBAL2FybW9uaWsuYXBpLmdycGMudjEucmVzdWx0cy5SZXN1bHRzL0dldFNlcnZpY2VDb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0TWVzc2FnZSBSZXF1ZXN0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHJlcXVlc3RNZXRhZGF0YSBSZXF1ZXN0IG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YXJtb25pa0FwaUdycGNWMVJlc3VsdHMwMDUuUmVzdWx0c1NlcnZpY2VDb25maWd1cmF0aW9uUmVzcG9uc2U+XG4gICAqL1xuICBnZXRTZXJ2aWNlQ29uZmlndXJhdGlvbihcbiAgICByZXF1ZXN0RGF0YTogYXJtb25pa0FwaUdycGNWMTAwNC5FbXB0eSxcbiAgICByZXF1ZXN0TWV0YWRhdGEgPSBuZXcgR3JwY01ldGFkYXRhKClcbiAgKTogT2JzZXJ2YWJsZTxcbiAgICBhcm1vbmlrQXBpR3JwY1YxUmVzdWx0czAwNS5SZXN1bHRzU2VydmljZUNvbmZpZ3VyYXRpb25SZXNwb25zZVxuICA+IHtcbiAgICByZXR1cm4gdGhpcy4kcmF3XG4gICAgICAuZ2V0U2VydmljZUNvbmZpZ3VyYXRpb24ocmVxdWVzdERhdGEsIHJlcXVlc3RNZXRhZGF0YSlcbiAgICAgIC5waXBlKHRocm93U3RhdHVzRXJyb3JzKCksIHRha2VNZXNzYWdlcygpKTtcbiAgfVxufVxuIl19
@@ -5179,6 +5179,209 @@ class ListResultsResponse {
5179
5179
  };
5180
5180
  }
5181
5181
  }
5182
+ /**
5183
+ * Message implementation for armonik.api.grpc.v1.results.GetResultRequest
5184
+ */
5185
+ class GetResultRequest {
5186
+ static { this.id = 'armonik.api.grpc.v1.results.GetResultRequest'; }
5187
+ /**
5188
+ * Deserialize binary data to message
5189
+ * @param instance message instance
5190
+ */
5191
+ static deserializeBinary(bytes) {
5192
+ const instance = new GetResultRequest();
5193
+ GetResultRequest.deserializeBinaryFromReader(instance, new BinaryReader(bytes));
5194
+ return instance;
5195
+ }
5196
+ /**
5197
+ * Check all the properties and set default protobuf values if necessary
5198
+ * @param _instance message instance
5199
+ */
5200
+ static refineValues(_instance) {
5201
+ _instance.resultId = _instance.resultId || '';
5202
+ }
5203
+ /**
5204
+ * Deserializes / reads binary message into message instance using provided binary reader
5205
+ * @param _instance message instance
5206
+ * @param _reader binary reader instance
5207
+ */
5208
+ static deserializeBinaryFromReader(_instance, _reader) {
5209
+ while (_reader.nextField()) {
5210
+ if (_reader.isEndGroup())
5211
+ break;
5212
+ switch (_reader.getFieldNumber()) {
5213
+ case 1:
5214
+ _instance.resultId = _reader.readString();
5215
+ break;
5216
+ default:
5217
+ _reader.skipField();
5218
+ }
5219
+ }
5220
+ GetResultRequest.refineValues(_instance);
5221
+ }
5222
+ /**
5223
+ * Serializes a message to binary format using provided binary reader
5224
+ * @param _instance message instance
5225
+ * @param _writer binary writer instance
5226
+ */
5227
+ static serializeBinaryToWriter(_instance, _writer) {
5228
+ if (_instance.resultId) {
5229
+ _writer.writeString(1, _instance.resultId);
5230
+ }
5231
+ }
5232
+ /**
5233
+ * Message constructor. Initializes the properties and applies default Protobuf values if necessary
5234
+ * @param _value initial values object or instance of GetResultRequest to deeply clone from
5235
+ */
5236
+ constructor(_value) {
5237
+ _value = _value || {};
5238
+ this.resultId = _value.resultId;
5239
+ GetResultRequest.refineValues(this);
5240
+ }
5241
+ get resultId() {
5242
+ return this._resultId;
5243
+ }
5244
+ set resultId(value) {
5245
+ this._resultId = value;
5246
+ }
5247
+ /**
5248
+ * Serialize message to binary data
5249
+ * @param instance message instance
5250
+ */
5251
+ serializeBinary() {
5252
+ const writer = new BinaryWriter();
5253
+ GetResultRequest.serializeBinaryToWriter(this, writer);
5254
+ return writer.getResultBuffer();
5255
+ }
5256
+ /**
5257
+ * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
5258
+ */
5259
+ toObject() {
5260
+ return {
5261
+ resultId: this.resultId
5262
+ };
5263
+ }
5264
+ /**
5265
+ * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
5266
+ */
5267
+ toJSON() {
5268
+ return this.toObject();
5269
+ }
5270
+ /**
5271
+ * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
5272
+ * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
5273
+ * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
5274
+ */
5275
+ toProtobufJSON(
5276
+ // @ts-ignore
5277
+ options) {
5278
+ return {
5279
+ resultId: this.resultId
5280
+ };
5281
+ }
5282
+ }
5283
+ /**
5284
+ * Message implementation for armonik.api.grpc.v1.results.GetResultResponse
5285
+ */
5286
+ class GetResultResponse {
5287
+ static { this.id = 'armonik.api.grpc.v1.results.GetResultResponse'; }
5288
+ /**
5289
+ * Deserialize binary data to message
5290
+ * @param instance message instance
5291
+ */
5292
+ static deserializeBinary(bytes) {
5293
+ const instance = new GetResultResponse();
5294
+ GetResultResponse.deserializeBinaryFromReader(instance, new BinaryReader(bytes));
5295
+ return instance;
5296
+ }
5297
+ /**
5298
+ * Check all the properties and set default protobuf values if necessary
5299
+ * @param _instance message instance
5300
+ */
5301
+ static refineValues(_instance) {
5302
+ _instance.result = _instance.result || undefined;
5303
+ }
5304
+ /**
5305
+ * Deserializes / reads binary message into message instance using provided binary reader
5306
+ * @param _instance message instance
5307
+ * @param _reader binary reader instance
5308
+ */
5309
+ static deserializeBinaryFromReader(_instance, _reader) {
5310
+ while (_reader.nextField()) {
5311
+ if (_reader.isEndGroup())
5312
+ break;
5313
+ switch (_reader.getFieldNumber()) {
5314
+ case 1:
5315
+ _instance.result = new ResultRaw();
5316
+ _reader.readMessage(_instance.result, ResultRaw.deserializeBinaryFromReader);
5317
+ break;
5318
+ default:
5319
+ _reader.skipField();
5320
+ }
5321
+ }
5322
+ GetResultResponse.refineValues(_instance);
5323
+ }
5324
+ /**
5325
+ * Serializes a message to binary format using provided binary reader
5326
+ * @param _instance message instance
5327
+ * @param _writer binary writer instance
5328
+ */
5329
+ static serializeBinaryToWriter(_instance, _writer) {
5330
+ if (_instance.result) {
5331
+ _writer.writeMessage(1, _instance.result, ResultRaw.serializeBinaryToWriter);
5332
+ }
5333
+ }
5334
+ /**
5335
+ * Message constructor. Initializes the properties and applies default Protobuf values if necessary
5336
+ * @param _value initial values object or instance of GetResultResponse to deeply clone from
5337
+ */
5338
+ constructor(_value) {
5339
+ _value = _value || {};
5340
+ this.result = _value.result ? new ResultRaw(_value.result) : undefined;
5341
+ GetResultResponse.refineValues(this);
5342
+ }
5343
+ get result() {
5344
+ return this._result;
5345
+ }
5346
+ set result(value) {
5347
+ this._result = value;
5348
+ }
5349
+ /**
5350
+ * Serialize message to binary data
5351
+ * @param instance message instance
5352
+ */
5353
+ serializeBinary() {
5354
+ const writer = new BinaryWriter();
5355
+ GetResultResponse.serializeBinaryToWriter(this, writer);
5356
+ return writer.getResultBuffer();
5357
+ }
5358
+ /**
5359
+ * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
5360
+ */
5361
+ toObject() {
5362
+ return {
5363
+ result: this.result ? this.result.toObject() : undefined
5364
+ };
5365
+ }
5366
+ /**
5367
+ * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
5368
+ */
5369
+ toJSON() {
5370
+ return this.toObject();
5371
+ }
5372
+ /**
5373
+ * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
5374
+ * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
5375
+ * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
5376
+ */
5377
+ toProtobufJSON(
5378
+ // @ts-ignore
5379
+ options) {
5380
+ return {
5381
+ result: this.result ? this.result.toProtobufJSON(options) : null
5382
+ };
5383
+ }
5384
+ }
5182
5385
  /**
5183
5386
  * Message implementation for armonik.api.grpc.v1.results.GetOwnerTaskIdRequest
5184
5387
  */
@@ -7153,6 +7356,24 @@ class ResultsClient {
7153
7356
  responseClass: ListResultsResponse
7154
7357
  });
7155
7358
  },
7359
+ /**
7360
+ * Unary call: /armonik.api.grpc.v1.results.Results/GetResult
7361
+ *
7362
+ * @param requestMessage Request message
7363
+ * @param requestMetadata Request metadata
7364
+ * @returns Observable<GrpcEvent<armonikApiGrpcV1Results005.GetResultResponse>>
7365
+ */
7366
+ getResult: (requestData, requestMetadata = new GrpcMetadata()) => {
7367
+ return this.handler.handle({
7368
+ type: GrpcCallType.unary,
7369
+ client: this.client,
7370
+ path: '/armonik.api.grpc.v1.results.Results/GetResult',
7371
+ requestData,
7372
+ requestMetadata,
7373
+ requestClass: GetResultRequest,
7374
+ responseClass: GetResultResponse
7375
+ });
7376
+ },
7156
7377
  /**
7157
7378
  * Unary call: /armonik.api.grpc.v1.results.Results/GetOwnerTaskId
7158
7379
  *
@@ -7294,6 +7515,18 @@ class ResultsClient {
7294
7515
  .listResults(requestData, requestMetadata)
7295
7516
  .pipe(throwStatusErrors(), takeMessages());
7296
7517
  }
7518
+ /**
7519
+ * Unary call @/armonik.api.grpc.v1.results.Results/GetResult
7520
+ *
7521
+ * @param requestMessage Request message
7522
+ * @param requestMetadata Request metadata
7523
+ * @returns Observable<armonikApiGrpcV1Results005.GetResultResponse>
7524
+ */
7525
+ getResult(requestData, requestMetadata = new GrpcMetadata()) {
7526
+ return this.$raw
7527
+ .getResult(requestData, requestMetadata)
7528
+ .pipe(throwStatusErrors(), takeMessages());
7529
+ }
7297
7530
  /**
7298
7531
  * Unary call @/armonik.api.grpc.v1.results.Results/GetOwnerTaskId
7299
7532
  *