@alfresco/adf-process-services-cloud 6.10.0-10285171674 → 6.10.0-10285259723

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.
@@ -18,12 +18,13 @@ import { Component, EventEmitter, HostListener, inject, Input, Output, ViewChild
18
18
  import { FORM_FIELD_VALIDATORS } from '@alfresco/adf-core';
19
19
  import { FormControl, FormGroup, Validators } from '@angular/forms';
20
20
  import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
21
- import { debounceTime, takeUntil } from 'rxjs/operators';
22
- import { ProcessPayloadCloud } from '../models/process-payload-cloud.model';
23
- import { StartProcessCloudService } from '../services/start-process-cloud.service';
24
21
  import { Subject } from 'rxjs';
22
+ import { debounceTime, takeUntil } from 'rxjs/operators';
25
23
  import { ProcessDefinitionCloud } from '../../../models/process-definition-cloud.model';
26
24
  import { ProcessNameCloudPipe } from '../../../pipes/process-name-cloud.pipe';
25
+ import { ProcessPayloadCloud } from '../models/process-payload-cloud.model';
26
+ import { ProcessWithFormPayloadCloud } from '../models/process-with-form-payload-cloud.model';
27
+ import { StartProcessCloudService } from '../services/start-process-cloud.service';
27
28
  import * as i0 from "@angular/core";
28
29
  import * as i1 from "@angular/forms";
29
30
  import * as i2 from "@angular/common";
@@ -229,25 +230,28 @@ export class StartProcessCloudComponent {
229
230
  }
230
231
  startProcess() {
231
232
  this.isProcessStarting = true;
232
- let payloadVariables = {};
233
- if (this.variables) {
234
- payloadVariables = this.variables;
235
- }
236
- if (this.hasForm) {
237
- payloadVariables = Object.assign(payloadVariables, this.formCloud.values);
238
- }
239
- const createPayload = new ProcessPayloadCloud({
240
- name: this.processInstanceName.value,
241
- processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
242
- variables: payloadVariables
243
- });
244
- this.startProcessCloudService.startProcess(this.appName, createPayload).subscribe((res) => {
245
- this.success.emit(res);
246
- this.isProcessStarting = false;
247
- }, (err) => {
248
- this.errorMessageId = 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.START';
249
- this.error.emit(err);
250
- this.isProcessStarting = false;
233
+ const action = this.hasForm
234
+ ? this.startProcessCloudService.startProcessWithForm(this.appName, this.processDefinitionCurrent.formKey, this.processDefinitionCurrent.version, new ProcessWithFormPayloadCloud({
235
+ processName: this.processInstanceName.value,
236
+ processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
237
+ variables: this.variables ?? {},
238
+ values: this.formCloud.values
239
+ }))
240
+ : this.startProcessCloudService.startProcess(this.appName, new ProcessPayloadCloud({
241
+ name: this.processInstanceName.value,
242
+ processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
243
+ variables: this.variables ?? {}
244
+ }));
245
+ action.subscribe({
246
+ next: (res) => {
247
+ this.success.emit(res);
248
+ this.isProcessStarting = false;
249
+ },
250
+ error: (err) => {
251
+ this.errorMessageId = 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.START';
252
+ this.error.emit(err);
253
+ this.isProcessStarting = false;
254
+ }
251
255
  });
252
256
  }
253
257
  cancelStartProcess() {
@@ -358,4 +362,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
358
362
  type: HostListener,
359
363
  args: ['keydown', ['$event']]
360
364
  }] } });
361
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtcHJvY2Vzcy1jbG91ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Byb2Nlc3Mvc3RhcnQtcHJvY2Vzcy9jb21wb25lbnRzL3N0YXJ0LXByb2Nlc3MtY2xvdWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3N0YXJ0LXByb2Nlc3MvY29tcG9uZW50cy9zdGFydC1wcm9jZXNzLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBb0IscUJBQXFCLEVBQWlDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUcsT0FBTyxFQUFtQixXQUFXLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV4RixPQUFPLEVBQUUs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c0JBRFosS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBS04scUJBQXFCO3NCQURwQixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixNQUFNO3NCQURMLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQUtOLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBS04sT0FBTztzQkFETixNQUFNO2dCQUtQLE1BQU07c0JBREwsTUFBTTtnQkFLUCxLQUFLO3NCQURKLE1BQU07Z0JBS1Asa0JBQWtCO3NCQURqQixNQUFNO2dCQUtQLDBCQUEwQjtzQkFEekIsTUFBTTtnQkFzRlAsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250ZW50TGlua01vZGVsLCBGT1JNX0ZJRUxEX1ZBTElEQVRPUlMsIEZvcm1GaWVsZFZhbGlkYXRvciwgRm9ybU1vZGVsIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlQ2xvdWQgfSBmcm9tICcuLi9tb2RlbHMvcHJvY2Vzcy1pbnN0YW5jZS1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBQcm9jZXNzUGF5bG9hZENsb3VkIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3MtcGF5bG9hZC1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBTdGFydFByb2Nlc3NDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdGFydC1wcm9jZXNzLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvY2Vzc0RlZmluaXRpb25DbG91ZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9jZXNzLWRlZmluaXRpb24tY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgVGFza1ZhcmlhYmxlQ2xvdWQgfSBmcm9tICcuLi8uLi8uLi9mb3JtL21vZGVscy90YXNrLXZhcmlhYmxlLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFByb2Nlc3NOYW1lQ2xvdWRQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvcHJvY2Vzcy1uYW1lLWNsb3VkLnBpcGUnO1xuXG5jb25zdCBNQVhfTkFNRV9MRU5HVEg6IG51bWJlciA9IDI1NTtcbmNvbnN0IFBST0NFU1NfREVGSU5JVElPTl9ERUJPVU5DRTogbnVtYmVyID0gMzAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1jbG91ZC1zdGFydC1wcm9jZXNzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3RhcnQtcHJvY2Vzcy1jbG91ZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3RhcnQtcHJvY2Vzcy1jbG91ZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU3RhcnRQcm9jZXNzQ2xvdWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIpXG4gICAgaW5wdXRBdXRvY29tcGxldGU6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXI7XG5cbiAgICAvKiogKHJlcXVpcmVkKSBOYW1lIG9mIHRoZSBhcHAuICovXG4gICAgQElucHV0KClcbiAgICBhcHBOYW1lOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBNYXhpbXVtIGxlbmd0aCBvZiB0aGUgcHJvY2VzcyBuYW1lLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWF4TmFtZUxlbmd0aDogbnVtYmVyID0gTUFYX05BTUVfTEVOR1RIO1xuXG4gICAgLyoqIE5hbWUgb2YgdGhlIHByb2Nlc3MuICovXG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBOYW1lIG9mIHRoZSBwcm9jZXNzIGRlZmluaXRpb24uICovXG4gICAgQElucHV0KClcbiAgICBwcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblxuICAgIC8qKiBWYXJpYWJsZXMgdG8gYXR0YWNoIHRvIHRoZSBwYXlsb2FkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFyaWFibGVzOiBhbnk7XG5cbiAgICAvKiogUGFyYW1ldGVyIHRvIHBhc3MgZm9ybSBmaWVsZCB2YWx1ZXMgaW4gdGhlIHN0YXJ0IGZvcm0gaWYgb25lIGlzIGFzc29jaWF0ZWQuICovXG4gICAgQElucHV0KClcbiAgICB2YWx1ZXM6IFRhc2tWYXJpYWJsZUNsb3VkW107XG5cbiAgICAvKiogRm9ybUZpZWxkVmFsaWRhdG9yIGFsbG93IHRvIHByb3ZpZGUgYWRkaXRpb25hbCB2YWxpZGF0b3JzIHRvIHRoZSBmb3JtIGZpZWxkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmllbGRWYWxpZGF0b3JzOiBGb3JtRmllbGRWYWxpZGF0b3JbXTtcblxuICAgIC8qKiBTaG93L2hpZGUgdGhlIHByb2Nlc3MgZHJvcGRvd24gbGlzdC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dTZWxlY3RQcm9jZXNzRHJvcGRvd246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFNob3cvaGlkZSB0aXRsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dUaXRsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogU2hvdy9oaWRlIGNhbmNlbCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93Q2FuY2VsQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHByb2Nlc3MgaXMgc3VjY2Vzc2Z1bGx5IHN0YXJ0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvY2Vzc0luc3RhbmNlQ2xvdWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzdGFydGluZyBwcm9jZXNzIGlzIGNhbmNlbGxlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvY2Vzc0luc3RhbmNlQ2xvdWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGFuIGVycm9yIG9jY3Vycy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvY2Vzc0luc3RhbmNlQ2xvdWQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGZvcm0gY29udGVudCBpcyBjbGlja2VkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1Db250ZW50Q2xpY2tlZDogRXZlbnRFbWl0dGVyPENvbnRlbnRMaW5rTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBwcm9jZXNzIGRlZmluaXRpb24gc2VsZWN0aW9uIGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpXG4gICAgcHJvY2Vzc0RlZmluaXRpb25TZWxlY3Rpb246IEV2ZW50RW1pdHRlcjxQcm9jZXNzRGVmaW5pdGlvbkNsb3VkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvY2Vzc0RlZmluaXRpb25DbG91ZD4oKTtcblxuICAgIHByb2Nlc3NEZWZpbml0aW9uTGlzdDogUHJvY2Vzc0RlZmluaXRpb25DbG91ZFtdID0gW107XG4gICAgcHJvY2Vzc0RlZmluaXRpb25DdXJyZW50PzogUHJvY2Vzc0RlZmluaXRpb25DbG91ZDtcbiAgICBlcnJvck1lc3NhZ2VJZDogc3RyaW5nID0gJyc7XG4gICAgcHJvY2Vzc1BheWxvYWRDbG91ZCA9IG5ldyBQcm9jZXNzUGF5bG9hZENsb3VkKCk7XG4gICAgZmlsdGVyZWRQcm9jZXNzZXM6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWRbXSA9IFtdO1xuICAgIHN0YXRpY01hcHBpbmdzOiBUYXNrVmFyaWFibGVDbG91ZFtdID0gW107XG4gICAgcmVzb2x2ZWRWYWx1ZXM/OiBUYXNrVmFyaWFibGVDbG91ZFtdO1xuXG4gICAgcHJvdGVjdGVkIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgaXNQcm9jZXNzU3RhcnRpbmcgPSBmYWxzZTtcbiAgICBpc0Zvcm1DbG91ZExvYWRlZCA9IGZhbHNlO1xuICAgIGlzRm9ybUNsb3VkTG9hZGluZyA9IGZhbHNlO1xuICAgIHByb2Nlc3NEZWZpbml0aW9uTG9hZGVkID0gZmFsc2U7XG5cbiAgICBmb3JtQ2xvdWQ/OiBGb3JtTW9kZWw7XG4gICAgcHJvY2Vzc0Zvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgcHJvY2Vzc0luc3RhbmNlTmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCBbXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5nZXRNYXhOYW1lTGVuZ3RoKCkpLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW15cXFxcc10rKFxcXFxzK1teXFxcXHNdKykqJCcpXG4gICAgICAgIF0pLFxuICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbjogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWVWYWxpZGF0b3IoKV0pXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXJ0UHJvY2Vzc0Nsb3VkU2VydmljZSA9IGluamVjdChTdGFydFByb2Nlc3NDbG91ZFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc05hbWVDbG91ZFBpcGUgPSBpbmplY3QoUHJvY2Vzc05hbWVDbG91ZFBpcGUpO1xuXG4gICAgZ2V0IGlzUHJvY2Vzc0Zvcm1WYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzRm9ybSAmJiB0aGlzLmlzRm9ybUNsb3VkTG9hZGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuZm9ybUNsb3VkID8gIU9iamVjdC5rZXlzKHRoaXMuZm9ybUNsb3VkLnZhbHVlcykubGVuZ3RoIDogZmFsc2UpIHx8IHRoaXMuZm9ybUNsb3VkPy5pc1ZhbGlkIHx8IHRoaXMuaXNQcm9jZXNzU3RhcnRpbmc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRm9ybS52YWxpZCB8fCB0aGlzLmlzUHJvY2Vzc1N0YXJ0aW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVTdGFydEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmFwcE5hbWUgfHwgIXRoaXMucHJvY2Vzc0RlZmluaXRpb24udmFsaWQgfHwgdGhpcy5pc1Byb2Nlc3NTdGFydGluZyB8fCB0aGlzLmlzRm9ybUNsb3VkTG9hZGluZztcbiAgICB9XG5cbiAgICBnZXQgaXNQcm9jZXNzRGVmaW5pdGlvbnNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdC5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IHByb2Nlc3NJbnN0YW5jZU5hbWUoKTogRm9ybUNvbnRyb2w8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NGb3JtLmNvbnRyb2xzLnByb2Nlc3NJbnN0YW5jZU5hbWU7XG4gICAgfVxuXG4gICAgZ2V0IHByb2Nlc3NEZWZpbml0aW9uKCk6IEZvcm1Db250cm9sPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRm9ybS5jb250cm9scy5wcm9jZXNzRGVmaW5pdGlvbjtcbiAgICB9XG5cbiAgICBnZXQgaGFzRm9ybSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQ/LmZvcm1LZXk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdEZpZWxkVmFsaWRhdG9ycygpO1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb24uc2V0VmFsdWUodGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWUpO1xuICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKFBST0NFU1NfREVGSU5JVElPTl9ERUJPVU5DRSkpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHByb2Nlc3NEZWZpbml0aW9uTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0UHJvY2Vzc0RlZmluaXRpb25CeVByb2Nlc3NEZWZpbml0aW9uTmFtZShwcm9jZXNzRGVmaW5pdGlvbk5hbWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlc1snYXBwTmFtZSddICYmIGNoYW5nZXNbJ2FwcE5hbWUnXS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ2FwcE5hbWUnXS5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmFwcE5hbWUgPSBjaGFuZ2VzWydhcHBOYW1lJ10uY3VycmVudFZhbHVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBOYW1lIHx8IHRoaXMuYXBwTmFtZSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRGVmaW5pdGlvbnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzWyd2YWx1ZXMnXSAmJiBjaGFuZ2VzWyd2YWx1ZXMnXS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ3ZhbHVlcyddLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZWRWYWx1ZXMgPSB0aGlzLnN0YXRpY01hcHBpbmdzLmNvbmNhdCh0aGlzLnZhbHVlcyB8fCBbXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgb25Gb3JtTG9hZGVkKGZvcm06IEZvcm1Nb2RlbCkge1xuICAgICAgICB0aGlzLmlzRm9ybUNsb3VkTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mb3JtQ2xvdWQgPSBmb3JtO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEZpZWxkVmFsaWRhdG9ycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWVsZFZhbGlkYXRvcnMgPSB0aGlzLmZpZWxkVmFsaWRhdG9ycyA/IFsuLi5GT1JNX0ZJRUxEX1ZBTElEQVRPUlMsIC4uLnRoaXMuZmllbGRWYWxpZGF0b3JzXSA6IFsuLi5GT1JNX0ZJRUxEX1ZBTElEQVRPUlNdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF4TmFtZUxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhOYW1lTGVuZ3RoID4gTUFYX05BTUVfTEVOR1RIID8gTUFYX05BTUVfTEVOR1RIIDogdGhpcy5tYXhOYW1lTGVuZ3RoO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0UHJvY2Vzc0RlZmluaXRpb25CeVByb2Nlc3NEZWZpbml0aW9uTmFtZShwcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlcmVkUHJvY2Vzc2VzID0gdGhpcy5nZXRQcm9jZXNzRGVmaW5pdGlvbkxpc3RCeU5hbWVPcktleShwcm9jZXNzRGVmaW5pdGlvbk5hbWUpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzUHJvY2Vzc0Zvcm1WYWxpZCAmJiB0aGlzLmZpbHRlcmVkUHJvY2Vzc2VzICYmIHRoaXMuZmlsdGVyZWRQcm9jZXNzZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLnNldFByb2Nlc3NEZWZpbml0aW9uT25Gb3JtKHRoaXMuZmlsdGVyZWRQcm9jZXNzZXNbMF0ubmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRQcm9jZXNzRGVmaW5pdGlvbk9uRm9ybShzZWxlY3RlZFByb2Nlc3NEZWZpbml0aW9uTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaXNGb3JtQ2xvdWRMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgcHJvY2Vzc0RlZmluaXRpb25DdXJyZW50ID0gdGhpcy5maWx0ZXJlZFByb2Nlc3Nlcy5maW5kKFxuICAgICAgICAgICAgKHByb2Nlc3M6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQpID0+IHByb2Nlc3MubmFtZSA9PT0gc2VsZWN0ZWRQcm9jZXNzRGVmaW5pdGlvbk5hbWUgfHwgcHJvY2Vzcy5rZXkgPT09IHNlbGVjdGVkUHJvY2Vzc0RlZmluaXRpb25OYW1lXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zdGFydFByb2Nlc3NDbG91ZFNlcnZpY2UuZ2V0U3RhcnRFdmVudEZvcm1TdGF0aWNWYWx1ZXNNYXBwaW5nKHRoaXMuYXBwTmFtZSwgcHJvY2Vzc0RlZmluaXRpb25DdXJyZW50LmlkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoc3RhdGljTWFwcGluZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRpY01hcHBpbmdzID0gc3RhdGljTWFwcGluZ3M7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlZFZhbHVlcyA9IHRoaXMuc3RhdGljTWFwcGluZ3MuY29uY2F0KHRoaXMudmFsdWVzIHx8IFtdKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uQ3VycmVudCA9IHByb2Nlc3NEZWZpbml0aW9uQ3VycmVudDtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRm9ybUNsb3VkTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVkVmFsdWVzID0gdGhpcy52YWx1ZXM7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQgPSBwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Zvcm1DbG91ZExvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmlzRm9ybUNsb3VkTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC5wcm9jZXNzRGVmaW5pdGlvbktleSA9IHByb2Nlc3NEZWZpbml0aW9uQ3VycmVudC5rZXk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzRGVmaW5pdGlvbkxpc3RCeU5hbWVPcktleShwcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdC5maWx0ZXIoXG4gICAgICAgICAgICAocHJvY2Vzc0RlZmluaXRpb25DbG91ZCkgPT4gIXByb2Nlc3NEZWZpbml0aW9uTmFtZSB8fCB0aGlzLmdldFByb2Nlc3NEZWZpbml0aW9uKHByb2Nlc3NEZWZpbml0aW9uQ2xvdWQsIHByb2Nlc3NEZWZpbml0aW9uTmFtZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2Nlc3NJZkV4aXN0cyhwcm9jZXNzRGVmaW5pdGlvbjogc3RyaW5nKTogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCB7XG4gICAgICAgIGxldCBtYXRjaGVkUHJvY2VzcyA9IHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0LmZpbmQoKG9wdGlvbikgPT4gdGhpcy5nZXRQcm9jZXNzRGVmaW5pdGlvbihvcHRpb24sIHByb2Nlc3NEZWZpbml0aW9uKSk7XG4gICAgICAgIGlmICghbWF0Y2hlZFByb2Nlc3MpIHtcbiAgICAgICAgICAgIG1hdGNoZWRQcm9jZXNzID0gbmV3IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtYXRjaGVkUHJvY2VzcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2Nlc3NEZWZpbml0aW9uQnlOYW1lKHByb2Nlc3NEZWZpbml0aW9uTmFtZTogc3RyaW5nKTogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCB7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRQcm9jZXNzID0gcHJvY2Vzc0RlZmluaXRpb25OYW1lID8gdGhpcy5nZXRQcm9jZXNzSWZFeGlzdHMocHJvY2Vzc0RlZmluaXRpb25OYW1lKSA6IHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0WzBdO1xuICAgICAgICByZXR1cm4gbWF0Y2hlZFByb2Nlc3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3REZWZhdWx0UHJvY2Vzc0RlZmluaXRpb24oKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUHJvY2VzcyA9IHRoaXMuZ2V0UHJvY2Vzc0RlZmluaXRpb25CeU5hbWUodGhpcy5wcm9jZXNzRGVmaW5pdGlvbk5hbWUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRQcm9jZXNzKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnNldFZhbHVlKHNlbGVjdGVkUHJvY2Vzcy5uYW1lKTtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25TZWxlY3Rpb25DaGFuZ2VkKHNlbGVjdGVkUHJvY2Vzcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZFByb2Nlc3NEZWZpbml0aW9ucygpIHtcbiAgICAgICAgdGhpcy5yZXNldEVycm9yTWVzc2FnZSgpO1xuXG4gICAgICAgIHRoaXMuc3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UHJvY2Vzc0RlZmluaXRpb25zKHRoaXMuYXBwTmFtZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAocHJvY2Vzc0RlZmluaXRpb25SZXByZXNlbnRhdGlvbnM6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWRbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdCA9IHByb2Nlc3NEZWZpbml0aW9uUmVwcmVzZW50YXRpb25zO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzc0RlZmluaXRpb25SZXByZXNlbnRhdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdERlZmF1bHRQcm9jZXNzRGVmaW5pdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucHJvY2Vzc0RlZmluaXRpb25OYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnNldFZhbHVlKHRoaXMucHJvY2Vzc0RlZmluaXRpb25OYW1lKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvY2Vzc0RlZmluaXRpb24gPSB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdC5maW5kKChwcm9jZXNzKSA9PiBwcm9jZXNzLm5hbWUgPT09IHRoaXMucHJvY2Vzc0RlZmluaXRpb25OYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzRGVmaW5pdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRQcm9jZXNzZXMgPSB0aGlzLmdldFByb2Nlc3NEZWZpbml0aW9uTGlzdEJ5TmFtZU9yS2V5KHByb2Nlc3NEZWZpbml0aW9uLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UHJvY2Vzc0RlZmluaXRpb25PbkZvcm0ocHJvY2Vzc0RlZmluaXRpb24ubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvblNlbGVjdGlvbkNoYW5nZWQocHJvY2Vzc0RlZmluaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlSWQgPSAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5FUlJPUi5MT0FEX1BST0NFU1NfREVGUyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWROYW1lKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISFuYW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvY2Vzc0RlZmluaXRpb24ocHJvY2Vzc0RlZmluaXRpb25DbG91ZDogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCwgcHJvY2Vzc0RlZmluaXRpb25OYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0aGlzLmlzVmFsaWROYW1lKHByb2Nlc3NEZWZpbml0aW9uQ2xvdWQubmFtZSkgJiZcbiAgICAgICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbkNsb3VkLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhwcm9jZXNzRGVmaW5pdGlvbk5hbWUudG9Mb3dlckNhc2UoKSkpIHx8XG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbkNsb3VkLmtleT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhwcm9jZXNzRGVmaW5pdGlvbk5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBidWlsZFByb2Nlc3NDbG91ZFBheWxvYWQoKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC5uYW1lID0gdGhpcy5wcm9jZXNzSW5zdGFuY2VOYW1lLnZhbHVlO1xuICAgICAgICBpZiAodGhpcy52YXJpYWJsZXMpIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC52YXJpYWJsZXMgPSB0aGlzLnZhcmlhYmxlcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhhc0Zvcm0pIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC52YXJpYWJsZXMgPSBPYmplY3QuYXNzaWduKHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC52YXJpYWJsZXMsIHRoaXMuZm9ybUNsb3VkLnZhbHVlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGFydFByb2Nlc3MoKSB7XG4gICAgICAgIHRoaXMuaXNQcm9jZXNzU3RhcnRpbmcgPSB0cnVlO1xuICAgICAgICBsZXQgcGF5bG9hZFZhcmlhYmxlcyA9IHt9O1xuICAgICAgICBpZiAodGhpcy52YXJpYWJsZXMpIHtcbiAgICAgICAgICAgIHBheWxvYWRWYXJpYWJsZXMgPSB0aGlzLnZhcmlhYmxlcztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5oYXNGb3JtKSB7XG4gICAgICAgICAgICBwYXlsb2FkVmFyaWFibGVzID0gT2JqZWN0LmFzc2lnbihwYXlsb2FkVmFyaWFibGVzLCB0aGlzLmZvcm1DbG91ZC52YWx1ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNyZWF0ZVBheWxvYWQgPSBuZXcgUHJvY2Vzc1BheWxvYWRDbG91ZCh7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLnByb2Nlc3NJbnN0YW5jZU5hbWUudmFsdWUsXG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbktleTogdGhpcy5wcm9jZXNzUGF5bG9hZENsb3VkLnByb2Nlc3NEZWZpbml0aW9uS2V5LFxuICAgICAgICAgICAgdmFyaWFibGVzOiBwYXlsb2FkVmFyaWFibGVzXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN0YXJ0UHJvY2Vzc0Nsb3VkU2VydmljZS5zdGFydFByb2Nlc3ModGhpcy5hcHBOYW1lLCBjcmVhdGVQYXlsb2FkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQocmVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUHJvY2Vzc1N0YXJ0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlSWQgPSAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5FUlJPUi5TVEFSVCc7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Byb2Nlc3NTdGFydGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNhbmNlbFN0YXJ0UHJvY2VzcygpIHtcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRFcnJvck1lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlSWQgPSAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0UHJvY2Vzc0RlZmluaXRpb25MaXN0KCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnNldFZhbHVlKCcnKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZFByb2Nlc3NlcyA9IHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0O1xuICAgIH1cblxuICAgIGRpc3BsYXlQcm9jZXNzTmFtZU9uRHJvcGRvd24ocHJvY2VzczogYW55KSB7XG4gICAgICAgIGlmIChwcm9jZXNzKSB7XG4gICAgICAgICAgICBsZXQgcHJvY2Vzc05hbWUgPSBwcm9jZXNzO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHByb2Nlc3NOYW1lID0gcHJvY2Vzcy5uYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHByb2Nlc3NOYW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlzcGxheURyb3Bkb3duKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoIXRoaXMuaW5wdXRBdXRvY29tcGxldGUucGFuZWxPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0UHJvY2Vzc0RlZmluaXRpb25MaXN0KCk7XG4gICAgICAgICAgICB0aGlzLmlucHV0QXV0b2NvbXBsZXRlLm9wZW5QYW5lbCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbnB1dEF1dG9jb21wbGV0ZS5jbG9zZVBhbmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm9jZXNzRGVmaW5pdGlvbk5hbWVWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NEZWZpbml0aW9uRmllbGRWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgICAgICBsZXQgcHJvY2Vzc0RlZmluaXRpb25OYW1lRXJyb3IgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKHByb2Nlc3NEZWZpbml0aW9uRmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NEZWZpbml0aW9uID0gdGhpcy5nZXRQcm9jZXNzSWZFeGlzdHMocHJvY2Vzc0RlZmluaXRpb25GaWVsZFZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXByb2Nlc3NEZWZpbml0aW9uLmtleSkge1xuICAgICAgICAgICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbk5hbWVFcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcHJvY2Vzc0RlZmluaXRpb25OYW1lRXJyb3IgPyB7ICdpbnZhbGlkIG5hbWUnOiB0cnVlIH0gOiBudWxsO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldFByb2Nlc3NEZWZpbml0aW9uVmFsdWUocHJvY2VzczogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzLm5hbWUgPyBwcm9jZXNzLm5hbWUgOiBwcm9jZXNzLmtleTtcbiAgICB9XG5cbiAgICBvbkZvcm1Db250ZW50Q2xpY2tlZChjb250ZW50OiBDb250ZW50TGlua01vZGVsKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRlbnRDbGlja2VkLmVtaXQoY29udGVudCk7XG4gICAgfVxuXG4gICAgcHJvY2Vzc0RlZmluaXRpb25TZWxlY3Rpb25DaGFuZ2VkKHByb2Nlc3NEZWZpbml0aW9uOiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkKSB7XG4gICAgICAgIGlmIChwcm9jZXNzRGVmaW5pdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0UHJvY2Vzc05hbWUocHJvY2Vzc0RlZmluaXRpb24ubmFtZSk7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uU2VsZWN0aW9uLmVtaXQocHJvY2Vzc0RlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RGVmYXVsdFByb2Nlc3NOYW1lKHByb2Nlc3NEZWZpbml0aW9uTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByb2Nlc3NJbnN0YW5jZURldGFpbHM6IFByb2Nlc3NJbnN0YW5jZUNsb3VkID0geyBwcm9jZXNzRGVmaW5pdGlvbk5hbWUgfTtcbiAgICAgICAgY29uc3QgZGVmYXVsdFByb2Nlc3NOYW1lID0gdGhpcy5wcm9jZXNzTmFtZUNsb3VkUGlwZS50cmFuc2Zvcm0odGhpcy5uYW1lLCBwcm9jZXNzSW5zdGFuY2VEZXRhaWxzKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5zdGFuY2VOYW1lLnNldFZhbHVlKGRlZmF1bHRQcm9jZXNzTmFtZSk7XG4gICAgICAgIHRoaXMucHJvY2Vzc0luc3RhbmNlTmFtZS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB0aGlzLnByb2Nlc3NJbnN0YW5jZU5hbWUubWFya0FzVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwiYWRmLXN0YXJ0LXByb2Nlc3NcIiAqbmdJZj1cInByb2Nlc3NEZWZpbml0aW9uTG9hZGVkOyBlbHNlIHNwaW5uZXJcIj5cblxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8bWF0LWNhcmQtdGl0bGVcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1RpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3snQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5GT1JNLlRJVExFJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlIGlkPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZXJyb3JNZXNzYWdlSWRcIj5cbiAgICAgICAgICAgIHt7IGVycm9yTWVzc2FnZUlkIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWNhcmQtc3VidGl0bGU+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFpc1Byb2Nlc3NEZWZpbml0aW9uc0VtcHR5OyBlbHNlIGVtcHR5UHJvY2Vzc0RlZmluaXRpb25zTGlzdFwiPlxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJwcm9jZXNzRm9ybVwiIGNsYXNzPVwiYWRmLXNlbGVjdC1wcm9jZXNzLWZvcm1cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtcHJvY2Vzcy1pbnB1dC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICBmbG9hdExhYmVsPVwiYWx3YXlzXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93U2VsZWN0UHJvY2Vzc0Ryb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXNlbGVjdC1jbG91ZC1wcm9jZXNzLWRyb3Bkb3duXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYWRmLXN0YXJ0LXByb2Nlc3MtaW5wdXQtbGFiZWxcIj57eyAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5GT1JNLkxBQkVMLlRZUEUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByb2Nlc3NEZWZpbml0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicHJvY2Vzc0RlZmluaXRpb25OYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXByb2Nlc3MtaW5wdXQtYXV0b2NvbXBsZXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInByb2Nlc3NEZWZpbml0aW9uT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5UHJvY2Vzc05hbWVPbkRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cInNldFByb2Nlc3NEZWZpbml0aW9uT25Gb3JtKCRldmVudC5vcHRpb24udmFsdWUpXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJvY2Vzc0RlZiBvZiBmaWx0ZXJlZFByb2Nlc3Nlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImdldFByb2Nlc3NEZWZpbml0aW9uVmFsdWUocHJvY2Vzc0RlZilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcm9jZXNzRGVmaW5pdGlvblNlbGVjdGlvbkNoYW5nZWQocHJvY2Vzc0RlZilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0UHJvY2Vzc0RlZmluaXRpb25WYWx1ZShwcm9jZXNzRGVmKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWRmLXNlbGVjdC1wcm9jZXNzLWRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eydBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkZPUk0uU0VMRUNUX1BST0NFU1NfRFJPUERPV04nIHwgdHJhbnNsYXRlfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRpc3BsYXlEcm9wZG93bigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvY2Vzc0RlZmluaXRpb24uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWVycm9yLXBiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkVSUk9SLlBST0NFU1NfREVGSU5JVElPTl9SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICA8YWRmLWlucGxhY2UtZm9ybS1pbnB1dCBbY29udHJvbF09XCJwcm9jZXNzSW5zdGFuY2VOYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkZPUk0uTEFCRUwuTkFNRScgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGVycm9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9jZXNzSW5zdGFuY2VOYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRVJST1IuUFJPQ0VTU19OQU1FX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9jZXNzSW5zdGFuY2VOYW1lLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiIGlkPVwiYWRmLXN0YXJ0LXByb2Nlc3MtbWF4bGVuZ3RoLWVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRVJST1IuTUFYSU1VTV9MRU5HVEgnIHwgdHJhbnNsYXRlIDogeyBjaGFyYWN0ZXJzIDogbWF4TmFtZUxlbmd0aCB9IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInByb2Nlc3NJbnN0YW5jZU5hbWUuaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkVSUk9SLlNQQUNFX1ZBTElEQVRPUicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9hZGYtaW5wbGFjZS1mb3JtLWlucHV0PlxuICAgICAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzRm9ybSBlbHNlIHRhc2tGb3JtQ2xvdWRCdXR0b25zXCI+XG4gICAgICAgICAgICAgICAgPGFkZi1jbG91ZC1mb3JtXG4gICAgICAgICAgICAgICAgICAgIFthcHBOYW1lXT1cImFwcE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVmVyc2lvbl09XCJwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQuYXBwVmVyc2lvblwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInJlc29sdmVkVmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1JZF09XCJwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQuZm9ybUtleVwiXG4gICAgICAgICAgICAgICAgICAgIFtmaWVsZFZhbGlkYXRvcnNdPVwiZmllbGRWYWxpZGF0b3JzXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dTYXZlQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dDb21wbGV0ZUJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93UmVmcmVzaEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbkljb25dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd1RpdGxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGZvcm1Db250ZW50Q2xpY2tlZCk9XCJvbkZvcm1Db250ZW50Q2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGZvcm1Mb2FkZWQpPVwib25Gb3JtTG9hZGVkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtY2xvdWQtZm9ybS1jdXN0b20tb3V0Y29tZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhc2tGb3JtQ2xvdWRCdXR0b25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYWRmLWNsb3VkLWZvcm0tY3VzdG9tLW91dGNvbWVzPlxuICAgICAgICAgICAgICAgIDwvYWRmLWNsb3VkLWZvcm0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbjwvbWF0LWNhcmQ+XG5cbjxuZy10ZW1wbGF0ZSAjdGFza0Zvcm1DbG91ZEJ1dHRvbnM+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1zdGFydC1wcm9jZXNzLWNsb3VkLWFjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJzaG93Q2FuY2VsQnV0dG9uXCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWxTdGFydFByb2Nlc3MoKVwiXG4gICAgICAgICAgICBpZD1cImNhbmNlbF9wcm9jZXNzXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRk9STS5BQ1RJT04uQ0FOQ0VMJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZX19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlU3RhcnRCdXR0b24gfHwgIWlzUHJvY2Vzc0Zvcm1WYWxpZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic3RhcnRQcm9jZXNzKClcIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYnRuLXN0YXJ0XCJcbiAgICAgICAgICAgIGlkPVwiYnV0dG9uLXN0YXJ0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWJ0bi1zdGFydFwiXG4gICAgICAgID5cbiAgICAgICAgICAgICAgICB7eydBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkZPUk0uQUNUSU9OLlNUQVJUJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZX19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNlbXB0eVByb2Nlc3NEZWZpbml0aW9uc0xpc3Q+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgKm5nSWY9XCJwcm9jZXNzRGVmaW5pdGlvbkxvYWRlZFwiPlxuICAgICAgICA8bWF0LWNhcmQtc3VidGl0bGUgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgaWQ9XCJuby1wcm9jZXNzLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLk5PX1BST0NFU1NfREVGSU5JVElPTlMnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlfX1cbiAgICAgICAgPC9tYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NwaW5uZXI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1sb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWxvYWRpbmdcIlxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCI+XG4gICAgICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
365
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtcHJvY2Vzcy1jbG91ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Byb2Nlc3Mvc3RhcnQtcHJvY2Vzcy9jb21wb25lbnRzL3N0YXJ0LXByb2Nlc3MtY2xvdWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3N0YXJ0LXByb2Nlc3MvY29tcG9uZW50cy9zdGFydC1wcm9jZXNzLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBb0IscUJBQXFCLEVBQWlDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUcsT0FBTyxFQUFtQixXQUFXLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUs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QztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7O3dIQXJZUSwwQkFBMEI7NEdBQTFCLDBCQUEwQixvcEJBQ3hCLHNCQUFzQixxRUN2RHJDLHUzTkE0SUE7NEZEdEZhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx5QkFBeUIsaUJBR3BCLGlCQUFpQixDQUFDLElBQUk7OEJBSXJDLGlCQUFpQjtzQkFEaEIsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBS2pDLE9BQU87c0JBRE4sS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFLTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUtOLE9BQU87c0JBRE4sTUFBTTtnQkFLUCxNQUFNO3NCQURMLE1BQU07Z0JBS1AsS0FBSztzQkFESixNQUFNO2dCQUtQLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFLUCwwQkFBMEI7c0JBRHpCLE1BQU07Z0JBc0ZQLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udGVudExpbmtNb2RlbCwgRk9STV9GSUVMRF9WQUxJREFUT1JTLCBGb3JtRmllbGRWYWxpZGF0b3IsIEZvcm1Nb2RlbCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhc2tWYXJpYWJsZUNsb3VkIH0gZnJvbSAnLi4vLi4vLi4vZm9ybS9tb2RlbHMvdGFzay12YXJpYWJsZS1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb2Nlc3MtZGVmaW5pdGlvbi1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBQcm9jZXNzTmFtZUNsb3VkUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL3Byb2Nlc3MtbmFtZS1jbG91ZC5waXBlJztcbmltcG9ydCB7IFByb2Nlc3NJbnN0YW5jZUNsb3VkIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3MtaW5zdGFuY2UtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgUHJvY2Vzc1BheWxvYWRDbG91ZCB9IGZyb20gJy4uL21vZGVscy9wcm9jZXNzLXBheWxvYWQtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgUHJvY2Vzc1dpdGhGb3JtUGF5bG9hZENsb3VkIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3Mtd2l0aC1mb3JtLXBheWxvYWQtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgU3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RhcnQtcHJvY2Vzcy1jbG91ZC5zZXJ2aWNlJztcblxuY29uc3QgTUFYX05BTUVfTEVOR1RIOiBudW1iZXIgPSAyNTU7XG5jb25zdCBQUk9DRVNTX0RFRklOSVRJT05fREVCT1VOQ0U6IG51bWJlciA9IDMwMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtc3RhcnQtcHJvY2VzcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0YXJ0LXByb2Nlc3MtY2xvdWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0YXJ0LXByb2Nlc3MtY2xvdWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFN0YXJ0UHJvY2Vzc0Nsb3VkQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVUcmlnZ2VyKVxuICAgIGlucHV0QXV0b2NvbXBsZXRlOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xuXG4gICAgLyoqIChyZXF1aXJlZCkgTmFtZSBvZiB0aGUgYXBwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXBwTmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogTWF4aW11bSBsZW5ndGggb2YgdGhlIHByb2Nlc3MgbmFtZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1heE5hbWVMZW5ndGg6IG51bWJlciA9IE1BWF9OQU1FX0xFTkdUSDtcblxuICAgIC8qKiBOYW1lIG9mIHRoZSBwcm9jZXNzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogTmFtZSBvZiB0aGUgcHJvY2VzcyBkZWZpbml0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHJvY2Vzc0RlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogVmFyaWFibGVzIHRvIGF0dGFjaCB0byB0aGUgcGF5bG9hZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHZhcmlhYmxlczogYW55O1xuXG4gICAgLyoqIFBhcmFtZXRlciB0byBwYXNzIGZvcm0gZmllbGQgdmFsdWVzIGluIHRoZSBzdGFydCBmb3JtIGlmIG9uZSBpcyBhc3NvY2lhdGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWVzOiBUYXNrVmFyaWFibGVDbG91ZFtdO1xuXG4gICAgLyoqIEZvcm1GaWVsZFZhbGlkYXRvciBhbGxvdyB0byBwcm92aWRlIGFkZGl0aW9uYWwgdmFsaWRhdG9ycyB0byB0aGUgZm9ybSBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZpZWxkVmFsaWRhdG9yczogRm9ybUZpZWxkVmFsaWRhdG9yW107XG5cbiAgICAvKiogU2hvdy9oaWRlIHRoZSBwcm9jZXNzIGRyb3Bkb3duIGxpc3QuICovXG4gICAgQElucHV0KClcbiAgICBzaG93U2VsZWN0UHJvY2Vzc0Ryb3Bkb3duOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBTaG93L2hpZGUgdGl0bGUuICovXG4gICAgQElucHV0KClcbiAgICBzaG93VGl0bGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFNob3cvaGlkZSBjYW5jZWwgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0NhbmNlbEJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBwcm9jZXNzIGlzIHN1Y2Nlc3NmdWxseSBzdGFydGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPFByb2Nlc3NJbnN0YW5jZUNsb3VkPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgc3RhcnRpbmcgcHJvY2VzcyBpcyBjYW5jZWxsZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPFByb2Nlc3NJbnN0YW5jZUNsb3VkPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPFByb2Nlc3NJbnN0YW5jZUNsb3VkPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBmb3JtIGNvbnRlbnQgaXMgY2xpY2tlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtQ29udGVudENsaWNrZWQ6IEV2ZW50RW1pdHRlcjxDb250ZW50TGlua01vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gcHJvY2VzcyBkZWZpbml0aW9uIHNlbGVjdGlvbiBjaGFuZ2VzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHByb2Nlc3NEZWZpbml0aW9uU2VsZWN0aW9uOiBFdmVudEVtaXR0ZXI8UHJvY2Vzc0RlZmluaXRpb25DbG91ZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQ+KCk7XG5cbiAgICBwcm9jZXNzRGVmaW5pdGlvbkxpc3Q6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWRbXSA9IFtdO1xuICAgIHByb2Nlc3NEZWZpbml0aW9uQ3VycmVudD86IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQ7XG4gICAgZXJyb3JNZXNzYWdlSWQ6IHN0cmluZyA9ICcnO1xuICAgIHByb2Nlc3NQYXlsb2FkQ2xvdWQgPSBuZXcgUHJvY2Vzc1BheWxvYWRDbG91ZCgpO1xuICAgIGZpbHRlcmVkUHJvY2Vzc2VzOiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkW10gPSBbXTtcbiAgICBzdGF0aWNNYXBwaW5nczogVGFza1ZhcmlhYmxlQ2xvdWRbXSA9IFtdO1xuICAgIHJlc29sdmVkVmFsdWVzPzogVGFza1ZhcmlhYmxlQ2xvdWRbXTtcblxuICAgIHByb3RlY3RlZCBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGlzUHJvY2Vzc1N0YXJ0aW5nID0gZmFsc2U7XG4gICAgaXNGb3JtQ2xvdWRMb2FkZWQgPSBmYWxzZTtcbiAgICBpc0Zvcm1DbG91ZExvYWRpbmcgPSBmYWxzZTtcbiAgICBwcm9jZXNzRGVmaW5pdGlvbkxvYWRlZCA9IGZhbHNlO1xuXG4gICAgZm9ybUNsb3VkPzogRm9ybU1vZGVsO1xuICAgIHByb2Nlc3NGb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIHByb2Nlc3NJbnN0YW5jZU5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgW1xuICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKHRoaXMuZ2V0TWF4TmFtZUxlbmd0aCgpKSxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXlteXFxcXHNdKyhcXFxccytbXlxcXFxzXSspKiQnKVxuICAgICAgICBdKSxcbiAgICAgICAgcHJvY2Vzc0RlZmluaXRpb246IG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHRoaXMucHJvY2Vzc0RlZmluaXRpb25OYW1lVmFsaWRhdG9yKCldKVxuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFByb2Nlc3NDbG91ZFNlcnZpY2UgPSBpbmplY3QoU3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NOYW1lQ2xvdWRQaXBlID0gaW5qZWN0KFByb2Nlc3NOYW1lQ2xvdWRQaXBlKTtcblxuICAgIGdldCBpc1Byb2Nlc3NGb3JtVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmhhc0Zvcm0gJiYgdGhpcy5pc0Zvcm1DbG91ZExvYWRlZCkge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzLmZvcm1DbG91ZCA/ICFPYmplY3Qua2V5cyh0aGlzLmZvcm1DbG91ZC52YWx1ZXMpLmxlbmd0aCA6IGZhbHNlKSB8fCB0aGlzLmZvcm1DbG91ZD8uaXNWYWxpZCB8fCB0aGlzLmlzUHJvY2Vzc1N0YXJ0aW5nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0Zvcm0udmFsaWQgfHwgdGhpcy5pc1Byb2Nlc3NTdGFydGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBkaXNhYmxlU3RhcnRCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5hcHBOYW1lIHx8ICF0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnZhbGlkIHx8IHRoaXMuaXNQcm9jZXNzU3RhcnRpbmcgfHwgdGhpcy5pc0Zvcm1DbG91ZExvYWRpbmc7XG4gICAgfVxuXG4gICAgZ2V0IGlzUHJvY2Vzc0RlZmluaXRpb25zRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkxpc3QubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCBwcm9jZXNzSW5zdGFuY2VOYW1lKCk6IEZvcm1Db250cm9sPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRm9ybS5jb250cm9scy5wcm9jZXNzSW5zdGFuY2VOYW1lO1xuICAgIH1cblxuICAgIGdldCBwcm9jZXNzRGVmaW5pdGlvbigpOiBGb3JtQ29udHJvbDxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0Zvcm0uY29udHJvbHMucHJvY2Vzc0RlZmluaXRpb247XG4gICAgfVxuXG4gICAgZ2V0IGhhc0Zvcm0oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucHJvY2Vzc0RlZmluaXRpb25DdXJyZW50Py5mb3JtS2V5O1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRGaWVsZFZhbGlkYXRvcnMoKTtcblxuICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnNldFZhbHVlKHRoaXMucHJvY2Vzc0RlZmluaXRpb25OYW1lKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbi52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZShQUk9DRVNTX0RFRklOSVRJT05fREVCT1VOQ0UpKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChwcm9jZXNzRGVmaW5pdGlvbk5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFByb2Nlc3NEZWZpbml0aW9uQnlQcm9jZXNzRGVmaW5pdGlvbk5hbWUocHJvY2Vzc0RlZmluaXRpb25OYW1lKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2FwcE5hbWUnXSAmJiBjaGFuZ2VzWydhcHBOYW1lJ10uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzWydhcHBOYW1lJ10ucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5hcHBOYW1lID0gY2hhbmdlc1snYXBwTmFtZSddLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwTmFtZSB8fCB0aGlzLmFwcE5hbWUgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0RlZmluaXRpb25zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlc1sndmFsdWVzJ10gJiYgY2hhbmdlc1sndmFsdWVzJ10uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzWyd2YWx1ZXMnXS5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVkVmFsdWVzID0gdGhpcy5zdGF0aWNNYXBwaW5ncy5jb25jYXQodGhpcy52YWx1ZXMgfHwgW10pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG9uRm9ybUxvYWRlZChmb3JtOiBGb3JtTW9kZWwpIHtcbiAgICAgICAgdGhpcy5pc0Zvcm1DbG91ZExvYWRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9ybUNsb3VkID0gZm9ybTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRGaWVsZFZhbGlkYXRvcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRWYWxpZGF0b3JzID0gdGhpcy5maWVsZFZhbGlkYXRvcnMgPyBbLi4uRk9STV9GSUVMRF9WQUxJREFUT1JTLCAuLi50aGlzLmZpZWxkVmFsaWRhdG9yc10gOiBbLi4uRk9STV9GSUVMRF9WQUxJREFUT1JTXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1heE5hbWVMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4TmFtZUxlbmd0aCA+IE1BWF9OQU1FX0xFTkdUSCA/IE1BWF9OQU1FX0xFTkdUSCA6IHRoaXMubWF4TmFtZUxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdFByb2Nlc3NEZWZpbml0aW9uQnlQcm9jZXNzRGVmaW5pdGlvbk5hbWUocHJvY2Vzc0RlZmluaXRpb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZFByb2Nlc3NlcyA9IHRoaXMuZ2V0UHJvY2Vzc0RlZmluaXRpb25MaXN0QnlOYW1lT3JLZXkocHJvY2Vzc0RlZmluaXRpb25OYW1lKTtcblxuICAgICAgICBpZiAodGhpcy5pc1Byb2Nlc3NGb3JtVmFsaWQgJiYgdGhpcy5maWx0ZXJlZFByb2Nlc3NlcyAmJiB0aGlzLmZpbHRlcmVkUHJvY2Vzc2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5zZXRQcm9jZXNzRGVmaW5pdGlvbk9uRm9ybSh0aGlzLmZpbHRlcmVkUHJvY2Vzc2VzWzBdLm5hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0UHJvY2Vzc0RlZmluaXRpb25PbkZvcm0oc2VsZWN0ZWRQcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmlzRm9ybUNsb3VkTG9hZGluZyA9IHRydWU7XG4gICAgICAgIGNvbnN0IHByb2Nlc3NEZWZpbml0aW9uQ3VycmVudCA9IHRoaXMuZmlsdGVyZWRQcm9jZXNzZXMuZmluZChcbiAgICAgICAgICAgIChwcm9jZXNzOiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkKSA9PiBwcm9jZXNzLm5hbWUgPT09IHNlbGVjdGVkUHJvY2Vzc0RlZmluaXRpb25OYW1lIHx8IHByb2Nlc3Mua2V5ID09PSBzZWxlY3RlZFByb2Nlc3NEZWZpbml0aW9uTmFtZVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlLmdldFN0YXJ0RXZlbnRGb3JtU3RhdGljVmFsdWVzTWFwcGluZyh0aGlzLmFwcE5hbWUsIHByb2Nlc3NEZWZpbml0aW9uQ3VycmVudC5pZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKHN0YXRpY01hcHBpbmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0aWNNYXBwaW5ncyA9IHN0YXRpY01hcHBpbmdzO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZWRWYWx1ZXMgPSB0aGlzLnN0YXRpY01hcHBpbmdzLmNvbmNhdCh0aGlzLnZhbHVlcyB8fCBbXSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQgPSBwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Zvcm1DbG91ZExvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlZFZhbHVlcyA9IHRoaXMudmFsdWVzO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25DdXJyZW50ID0gcHJvY2Vzc0RlZmluaXRpb25DdXJyZW50O1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGb3JtQ2xvdWRMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5pc0Zvcm1DbG91ZExvYWRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByb2Nlc3NQYXlsb2FkQ2xvdWQucHJvY2Vzc0RlZmluaXRpb25LZXkgPSBwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQua2V5O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvY2Vzc0RlZmluaXRpb25MaXN0QnlOYW1lT3JLZXkocHJvY2Vzc0RlZmluaXRpb25OYW1lOiBzdHJpbmcpOiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkxpc3QuZmlsdGVyKFxuICAgICAgICAgICAgKHByb2Nlc3NEZWZpbml0aW9uQ2xvdWQpID0+ICFwcm9jZXNzRGVmaW5pdGlvbk5hbWUgfHwgdGhpcy5nZXRQcm9jZXNzRGVmaW5pdGlvbihwcm9jZXNzRGVmaW5pdGlvbkNsb3VkLCBwcm9jZXNzRGVmaW5pdGlvbk5hbWUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzSWZFeGlzdHMocHJvY2Vzc0RlZmluaXRpb246IHN0cmluZyk6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQge1xuICAgICAgICBsZXQgbWF0Y2hlZFByb2Nlc3MgPSB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdC5maW5kKChvcHRpb24pID0+IHRoaXMuZ2V0UHJvY2Vzc0RlZmluaXRpb24ob3B0aW9uLCBwcm9jZXNzRGVmaW5pdGlvbikpO1xuICAgICAgICBpZiAoIW1hdGNoZWRQcm9jZXNzKSB7XG4gICAgICAgICAgICBtYXRjaGVkUHJvY2VzcyA9IG5ldyBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWF0Y2hlZFByb2Nlc3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzRGVmaW5pdGlvbkJ5TmFtZShwcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQge1xuICAgICAgICBjb25zdCBtYXRjaGVkUHJvY2VzcyA9IHByb2Nlc3NEZWZpbml0aW9uTmFtZSA/IHRoaXMuZ2V0UHJvY2Vzc0lmRXhpc3RzKHByb2Nlc3NEZWZpbml0aW9uTmFtZSkgOiB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdFswXTtcbiAgICAgICAgcmV0dXJuIG1hdGNoZWRQcm9jZXNzO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0RGVmYXVsdFByb2Nlc3NEZWZpbml0aW9uKCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZFByb2Nlc3MgPSB0aGlzLmdldFByb2Nlc3NEZWZpbml0aW9uQnlOYW1lKHRoaXMucHJvY2Vzc0RlZmluaXRpb25OYW1lKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkUHJvY2Vzcykge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbi5zZXRWYWx1ZShzZWxlY3RlZFByb2Nlc3MubmFtZSk7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uU2VsZWN0aW9uQ2hhbmdlZChzZWxlY3RlZFByb2Nlc3MpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGxvYWRQcm9jZXNzRGVmaW5pdGlvbnMoKSB7XG4gICAgICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2UoKTtcblxuICAgICAgICB0aGlzLnN0YXJ0UHJvY2Vzc0Nsb3VkU2VydmljZVxuICAgICAgICAgICAgLmdldFByb2Nlc3NEZWZpbml0aW9ucyh0aGlzLmFwcE5hbWUpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKHByb2Nlc3NEZWZpbml0aW9uUmVwcmVzZW50YXRpb25zOiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkW10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkxpc3QgPSBwcm9jZXNzRGVmaW5pdGlvblJlcHJlc2VudGF0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3NEZWZpbml0aW9uUmVwcmVzZW50YXRpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3REZWZhdWx0UHJvY2Vzc0RlZmluaXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnByb2Nlc3NEZWZpbml0aW9uTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbi5zZXRWYWx1ZSh0aGlzLnByb2Nlc3NEZWZpbml0aW9uTmFtZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NEZWZpbml0aW9uID0gdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkxpc3QuZmluZCgocHJvY2VzcykgPT4gcHJvY2Vzcy5uYW1lID09PSB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzc0RlZmluaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkUHJvY2Vzc2VzID0gdGhpcy5nZXRQcm9jZXNzRGVmaW5pdGlvbkxpc3RCeU5hbWVPcktleShwcm9jZXNzRGVmaW5pdGlvbi5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFByb2Nlc3NEZWZpbml0aW9uT25Gb3JtKHByb2Nlc3NEZWZpbml0aW9uLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25TZWxlY3Rpb25DaGFuZ2VkKHByb2Nlc3NEZWZpbml0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25Mb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZUlkID0gJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRVJST1IuTE9BRF9QUk9DRVNTX0RFRlMnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkTmFtZShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhbmFtZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2Nlc3NEZWZpbml0aW9uKHByb2Nlc3NEZWZpbml0aW9uQ2xvdWQ6IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQsIHByb2Nlc3NEZWZpbml0aW9uTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAodGhpcy5pc1ZhbGlkTmFtZShwcm9jZXNzRGVmaW5pdGlvbkNsb3VkLm5hbWUpICYmXG4gICAgICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25DbG91ZC5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocHJvY2Vzc0RlZmluaXRpb25OYW1lLnRvTG93ZXJDYXNlKCkpKSB8fFxuICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25DbG91ZC5rZXk/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocHJvY2Vzc0RlZmluaXRpb25OYW1lLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYnVpbGRQcm9jZXNzQ2xvdWRQYXlsb2FkKCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NQYXlsb2FkQ2xvdWQubmFtZSA9IHRoaXMucHJvY2Vzc0luc3RhbmNlTmFtZS52YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMudmFyaWFibGVzKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NQYXlsb2FkQ2xvdWQudmFyaWFibGVzID0gdGhpcy52YXJpYWJsZXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNGb3JtKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NQYXlsb2FkQ2xvdWQudmFyaWFibGVzID0gT2JqZWN0LmFzc2lnbih0aGlzLnByb2Nlc3NQYXlsb2FkQ2xvdWQudmFyaWFibGVzLCB0aGlzLmZvcm1DbG91ZC52YWx1ZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhcnRQcm9jZXNzKCkge1xuICAgICAgICB0aGlzLmlzUHJvY2Vzc1N0YXJ0aW5nID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmhhc0Zvcm1cbiAgICAgICAgICAgID8gdGhpcy5zdGFydFByb2Nlc3NDbG91ZFNlcnZpY2Uuc3RhcnRQcm9jZXNzV2l0aEZvcm0oXG4gICAgICAgICAgICAgICAgICB0aGlzLmFwcE5hbWUsXG4gICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uQ3VycmVudC5mb3JtS2V5LFxuICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQudmVyc2lvbixcbiAgICAgICAgICAgICAgICAgIG5ldyBQcm9jZXNzV2l0aEZvcm1QYXlsb2FkQ2xvdWQoe1xuICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NOYW1lOiB0aGlzLnByb2Nlc3NJbnN0YW5jZU5hbWUudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25LZXk6IHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC5wcm9jZXNzRGVmaW5pdGlvbktleSxcbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHRoaXMudmFyaWFibGVzID8/IHt9LFxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczogdGhpcy5mb3JtQ2xvdWQudmFsdWVzXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IHRoaXMuc3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlLnN0YXJ0UHJvY2VzcyhcbiAgICAgICAgICAgICAgICAgIHRoaXMuYXBwTmFtZSxcbiAgICAgICAgICAgICAgICAgIG5ldyBQcm9jZXNzUGF5bG9hZENsb3VkKHtcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLnByb2Nlc3NJbnN0YW5jZU5hbWUudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25LZXk6IHRoaXMucHJvY2Vzc1BheWxvYWRDbG91ZC5wcm9jZXNzRGVmaW5pdGlvbktleSxcbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHRoaXMudmFyaWFibGVzID8/IHt9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgIGFjdGlvbi5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHJlcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Byb2Nlc3NTdGFydGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VJZCA9ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkVSUk9SLlNUQVJUJztcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUHJvY2Vzc1N0YXJ0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbmNlbFN0YXJ0UHJvY2VzcygpIHtcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRFcnJvck1lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlSWQgPSAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0UHJvY2Vzc0RlZmluaXRpb25MaXN0KCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uLnNldFZhbHVlKCcnKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZFByb2Nlc3NlcyA9IHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0O1xuICAgIH1cblxuICAgIGRpc3BsYXlQcm9jZXNzTmFtZU9uRHJvcGRvd24ocHJvY2VzczogYW55KSB7XG4gICAgICAgIGlmIChwcm9jZXNzKSB7XG4gICAgICAgICAgICBsZXQgcHJvY2Vzc05hbWUgPSBwcm9jZXNzO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHByb2Nlc3NOYW1lID0gcHJvY2Vzcy5uYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHByb2Nlc3NOYW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlzcGxheURyb3Bkb3duKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoIXRoaXMuaW5wdXRBdXRvY29tcGxldGUucGFuZWxPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0UHJvY2Vzc0RlZmluaXRpb25MaXN0KCk7XG4gICAgICAgICAgICB0aGlzLmlucHV0QXV0b2NvbXBsZXRlLm9wZW5QYW5lbCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbnB1dEF1dG9jb21wbGV0ZS5jbG9zZVBhbmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm9jZXNzRGVmaW5pdGlvbk5hbWVWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NEZWZpbml0aW9uRmllbGRWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgICAgICBsZXQgcHJvY2Vzc0RlZmluaXRpb25OYW1lRXJyb3IgPSBmYWxzZTtcblxuICAgICAgICAgICAgaWYgKHByb2Nlc3NEZWZpbml0aW9uRmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NEZWZpbml0aW9uID0gdGhpcy5nZXRQcm9jZXNzSWZFeGlzdHMocHJvY2Vzc0RlZmluaXRpb25GaWVsZFZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXByb2Nlc3NEZWZpbml0aW9uLmtleSkge1xuICAgICAgICAgICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbk5hbWVFcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcHJvY2Vzc0RlZmluaXRpb25OYW1lRXJyb3IgPyB7ICdpbnZhbGlkIG5hbWUnOiB0cnVlIH0gOiBudWxsO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldFByb2Nlc3NEZWZpbml0aW9uVmFsdWUocHJvY2VzczogUHJvY2Vzc0RlZmluaXRpb25DbG91ZCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzLm5hbWUgPyBwcm9jZXNzLm5hbWUgOiBwcm9jZXNzLmtleTtcbiAgICB9XG5cbiAgICBvbkZvcm1Db250ZW50Q2xpY2tlZChjb250ZW50OiBDb250ZW50TGlua01vZGVsKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRlbnRDbGlja2VkLmVtaXQoY29udGVudCk7XG4gICAgfVxuXG4gICAgcHJvY2Vzc0RlZmluaXRpb25TZWxlY3Rpb25DaGFuZ2VkKHByb2Nlc3NEZWZpbml0aW9uOiBQcm9jZXNzRGVmaW5pdGlvbkNsb3VkKSB7XG4gICAgICAgIGlmIChwcm9jZXNzRGVmaW5pdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0UHJvY2Vzc05hbWUocHJvY2Vzc0RlZmluaXRpb24ubmFtZSk7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uU2VsZWN0aW9uLmVtaXQocHJvY2Vzc0RlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RGVmYXVsdFByb2Nlc3NOYW1lKHByb2Nlc3NEZWZpbml0aW9uTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByb2Nlc3NJbnN0YW5jZURldGFpbHM6IFByb2Nlc3NJbnN0YW5jZUNsb3VkID0geyBwcm9jZXNzRGVmaW5pdGlvbk5hbWUgfTtcbiAgICAgICAgY29uc3QgZGVmYXVsdFByb2Nlc3NOYW1lID0gdGhpcy5wcm9jZXNzTmFtZUNsb3VkUGlwZS50cmFuc2Zvcm0odGhpcy5uYW1lLCBwcm9jZXNzSW5zdGFuY2VEZXRhaWxzKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5zdGFuY2VOYW1lLnNldFZhbHVlKGRlZmF1bHRQcm9jZXNzTmFtZSk7XG4gICAgICAgIHRoaXMucHJvY2Vzc0luc3RhbmNlTmFtZS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB0aGlzLnByb2Nlc3NJbnN0YW5jZU5hbWUubWFya0FzVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwiYWRmLXN0YXJ0LXByb2Nlc3NcIiAqbmdJZj1cInByb2Nlc3NEZWZpbml0aW9uTG9hZGVkOyBlbHNlIHNwaW5uZXJcIj5cblxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8bWF0LWNhcmQtdGl0bGVcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1RpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3snQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5GT1JNLlRJVExFJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlIGlkPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZXJyb3JNZXNzYWdlSWRcIj5cbiAgICAgICAgICAgIHt7IGVycm9yTWVzc2FnZUlkIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWNhcmQtc3VidGl0bGU+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFpc1Byb2Nlc3NEZWZpbml0aW9uc0VtcHR5OyBlbHNlIGVtcHR5UHJvY2Vzc0RlZmluaXRpb25zTGlzdFwiPlxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJwcm9jZXNzRm9ybVwiIGNsYXNzPVwiYWRmLXNlbGVjdC1wcm9jZXNzLWZvcm1cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtcHJvY2Vzcy1pbnB1dC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICBmbG9hdExhYmVsPVwiYWx3YXlzXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93U2VsZWN0UHJvY2Vzc0Ryb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXNlbGVjdC1jbG91ZC1wcm9jZXNzLWRyb3Bkb3duXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYWRmLXN0YXJ0LXByb2Nlc3MtaW5wdXQtbGFiZWxcIj57eyAnQURGX0NMT1VEX1BST0NFU1NfTElTVC5BREZfQ0xPVURfU1RBUlRfUFJPQ0VTUy5GT1JNLkxBQkVMLlRZUEUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByb2Nlc3NEZWZpbml0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicHJvY2Vzc0RlZmluaXRpb25OYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXByb2Nlc3MtaW5wdXQtYXV0b2NvbXBsZXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInByb2Nlc3NEZWZpbml0aW9uT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5UHJvY2Vzc05hbWVPbkRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cInNldFByb2Nlc3NEZWZpbml0aW9uT25Gb3JtKCRldmVudC5vcHRpb24udmFsdWUpXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcHJvY2Vzc0RlZiBvZiBmaWx0ZXJlZFByb2Nlc3Nlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImdldFByb2Nlc3NEZWZpbml0aW9uVmFsdWUocHJvY2Vzc0RlZilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcm9jZXNzRGVmaW5pdGlvblNlbGVjdGlvbkNoYW5nZWQocHJvY2Vzc0RlZilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0UHJvY2Vzc0RlZmluaXRpb25WYWx1ZShwcm9jZXNzRGVmKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWRmLXNlbGVjdC1wcm9jZXNzLWRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eydBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkZPUk0uU0VMRUNUX1BST0NFU1NfRFJPUERPV04nIHwgdHJhbnNsYXRlfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRpc3BsYXlEcm9wZG93bigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvY2Vzc0RlZmluaXRpb24uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWVycm9yLXBiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkVSUk9SLlBST0NFU1NfREVGSU5JVElPTl9SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICA8YWRmLWlucGxhY2UtZm9ybS1pbnB1dCBbY29udHJvbF09XCJwcm9jZXNzSW5zdGFuY2VOYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkZPUk0uTEFCRUwuTkFNRScgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGVycm9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9jZXNzSW5zdGFuY2VOYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRVJST1IuUFJPQ0VTU19OQU1FX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9jZXNzSW5zdGFuY2VOYW1lLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiIGlkPVwiYWRmLXN0YXJ0LXByb2Nlc3MtbWF4bGVuZ3RoLWVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRVJST1IuTUFYSU1VTV9MRU5HVEgnIHwgdHJhbnNsYXRlIDogeyBjaGFyYWN0ZXJzIDogbWF4TmFtZUxlbmd0aCB9IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInByb2Nlc3NJbnN0YW5jZU5hbWUuaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkVSUk9SLlNQQUNFX1ZBTElEQVRPUicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9hZGYtaW5wbGFjZS1mb3JtLWlucHV0PlxuICAgICAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzRm9ybSBlbHNlIHRhc2tGb3JtQ2xvdWRCdXR0b25zXCI+XG4gICAgICAgICAgICAgICAgPGFkZi1jbG91ZC1mb3JtXG4gICAgICAgICAgICAgICAgICAgIFthcHBOYW1lXT1cImFwcE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVmVyc2lvbl09XCJwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQuYXBwVmVyc2lvblwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInJlc29sdmVkVmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1JZF09XCJwcm9jZXNzRGVmaW5pdGlvbkN1cnJlbnQuZm9ybUtleVwiXG4gICAgICAgICAgICAgICAgICAgIFtmaWVsZFZhbGlkYXRvcnNdPVwiZmllbGRWYWxpZGF0b3JzXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dTYXZlQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dDb21wbGV0ZUJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93UmVmcmVzaEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbkljb25dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd1RpdGxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGZvcm1Db250ZW50Q2xpY2tlZCk9XCJvbkZvcm1Db250ZW50Q2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGZvcm1Mb2FkZWQpPVwib25Gb3JtTG9hZGVkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtY2xvdWQtZm9ybS1jdXN0b20tb3V0Y29tZXM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhc2tGb3JtQ2xvdWRCdXR0b25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYWRmLWNsb3VkLWZvcm0tY3VzdG9tLW91dGNvbWVzPlxuICAgICAgICAgICAgICAgIDwvYWRmLWNsb3VkLWZvcm0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbjwvbWF0LWNhcmQ+XG5cbjxuZy10ZW1wbGF0ZSAjdGFza0Zvcm1DbG91ZEJ1dHRvbnM+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1zdGFydC1wcm9jZXNzLWNsb3VkLWFjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJzaG93Q2FuY2VsQnV0dG9uXCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWxTdGFydFByb2Nlc3MoKVwiXG4gICAgICAgICAgICBpZD1cImNhbmNlbF9wcm9jZXNzXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9QUk9DRVNTX0xJU1QuQURGX0NMT1VEX1NUQVJUX1BST0NFU1MuRk9STS5BQ1RJT04uQ0FOQ0VMJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZX19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlU3RhcnRCdXR0b24gfHwgIWlzUHJvY2Vzc0Zvcm1WYWxpZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic3RhcnRQcm9jZXNzKClcIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYnRuLXN0YXJ0XCJcbiAgICAgICAgICAgIGlkPVwiYnV0dG9uLXN0YXJ0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWJ0bi1zdGFydFwiXG4gICAgICAgID5cbiAgICAgICAgICAgICAgICB7eydBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLkZPUk0uQUNUSU9OLlNUQVJUJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZX19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNlbXB0eVByb2Nlc3NEZWZpbml0aW9uc0xpc3Q+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgKm5nSWY9XCJwcm9jZXNzRGVmaW5pdGlvbkxvYWRlZFwiPlxuICAgICAgICA8bWF0LWNhcmQtc3VidGl0bGUgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgaWQ9XCJuby1wcm9jZXNzLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfUFJPQ0VTU19MSVNULkFERl9DTE9VRF9TVEFSVF9QUk9DRVNTLk5PX1BST0NFU1NfREVGSU5JVElPTlMnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlfX1cbiAgICAgICAgPC9tYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NwaW5uZXI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1sb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWxvYWRpbmdcIlxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCI+XG4gICAgICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,25 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export class ProcessWithFormPayloadCloud {
18
+ constructor(obj) {
19
+ this.processName = obj.processName;
20
+ this.processDefinitionKey = obj.processDefinitionKey;
21
+ this.variables = obj.variables;
22
+ this.values = obj.values;
23
+ }
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy13aXRoLWZvcm0tcGF5bG9hZC1jbG91ZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvcHJvY2Vzcy9zdGFydC1wcm9jZXNzL21vZGVscy9wcm9jZXNzLXdpdGgtZm9ybS1wYXlsb2FkLWNsb3VkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE1BQU0sT0FBTywyQkFBMkI7SUFNcEMsWUFBWSxHQUFnQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDbkMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NXaXRoRm9ybVBheWxvYWRDbG91ZCB7XG4gICAgcHJvY2Vzc05hbWU6IHN0cmluZztcbiAgICBwcm9jZXNzRGVmaW5pdGlvbktleTogc3RyaW5nO1xuICAgIHZhcmlhYmxlczogYW55O1xuICAgIHZhbHVlczogYW55O1xuXG4gICAgY29uc3RydWN0b3Iob2JqOiBQcm9jZXNzV2l0aEZvcm1QYXlsb2FkQ2xvdWQpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzTmFtZSA9IG9iai5wcm9jZXNzTmFtZTtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbktleSA9IG9iai5wcm9jZXNzRGVmaW5pdGlvbktleTtcbiAgICAgICAgdGhpcy52YXJpYWJsZXMgPSBvYmoudmFyaWFibGVzO1xuICAgICAgICB0aGlzLnZhbHVlcyA9IG9iai52YWx1ZXM7XG4gICAgfVxufVxuIl19
@@ -50,6 +50,11 @@ export class StartProcessCloudService extends BaseCloudService {
50
50
  payload.payloadType = 'StartProcessPayload';
51
51
  return this.post(url, payload).pipe(map((result) => result.entry));
52
52
  }
53
+ startProcessWithForm(appName, formId, version, payload) {
54
+ const url = `${this.getBasePath(appName)}/form/v1/forms/${formId}/submit/versions/${version}`;
55
+ payload.payloadType = 'StartProcessPayload';
56
+ return this.post(url, payload);
57
+ }
53
58
  /**
54
59
  * Update an existing process instance
55
60
  *
@@ -100,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
100
105
  providedIn: 'root'
101
106
  }]
102
107
  }] });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtcHJvY2Vzcy1jbG91ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3N0YXJ0LXByb2Nlc3Mvc2VydmljZXMvc3RhcnQtcHJvY2Vzcy1jbG91ZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBU25GLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFDMUQ7Ozs7OztPQU1HO0lBQ0gscUJBQXFCLENBQUMsT0FBZSxFQUFFLFdBQXlCO1FBQzVELElBQUksT0FBTyxJQUFJLE9BQU8sS0FBSyxFQUFFLEVBQUU7WUFDM0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQztZQUVyRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDbEMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksc0JBQXNCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDMUcsQ0FBQztTQUNMO2FBQU07WUFDSCxPQUFPLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQy9DO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFlBQVksQ0FBQyxPQUFlLEVBQUUsT0FBNEI7UUFDdEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQztRQUNuRSxPQUFPLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDO1FBRTVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxhQUFhLENBQUMsT0FBZSxFQUFFLGlCQUF5QixFQUFFLE9BQTRCO1FBQ2xGLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLGlCQUFpQixFQUFFLENBQUM7UUFDeEYsT0FBTyxDQUFDLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQztRQUU3QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFvQixFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsYUFBYSxDQUFDLE9BQWUsRUFBRSxpQkFBeUI7UUFDcEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsaUJBQWlCLEVBQUUsQ0FBQztRQUV4RixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILG9DQUFvQyxDQUFDLE9BQWUsRUFBRSxtQkFBMkI7UUFDN0UsTUFBTSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsbUJBQW1CLGdCQUFnQixDQUFDO1FBQzdHLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3hCLEdBQUcsQ0FBQyxDQUFDLEdBQTJCLEVBQUUsRUFBRTtZQUNoQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxHQUFHLEVBQUU7Z0JBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JIO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7O3NIQWhGUSx3QkFBd0I7MEhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzRGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByb2Nlc3NJbnN0YW5jZUNsb3VkIH0gZnJvbSAnLi4vbW9kZWxzL3Byb2Nlc3MtaW5zdGFuY2UtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgUHJvY2Vzc1BheWxvYWRDbG91ZCB9IGZyb20gJy4uL21vZGVscy9wcm9jZXNzLXBheWxvYWQtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgUHJvY2Vzc0RlZmluaXRpb25DbG91ZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9jZXNzLWRlZmluaXRpb24tY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNsb3VkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jhc2UtY2xvdWQuc2VydmljZSc7XG5pbXBvcnQgeyBUYXNrVmFyaWFibGVDbG91ZCB9IGZyb20gJy4uLy4uLy4uL2Zvcm0vbW9kZWxzL3Rhc2stdmFyaWFibGUtY2xvdWQubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UGFyYW1zIHtcbiAgICBpbmNsdWRlOiAndmFyaWFibGVzJztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdGFydFByb2Nlc3NDbG91ZFNlcnZpY2UgZXh0ZW5kcyBCYXNlQ2xvdWRTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwcm9jZXNzIGRlZmluaXRpb25zIGFzc29jaWF0ZWQgd2l0aCBhbiBhcHAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBOYW1lIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zIG9wdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlcnNcbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBwcm9jZXNzIGRlZmluaXRpb25zXG4gICAgICovXG4gICAgZ2V0UHJvY2Vzc0RlZmluaXRpb25zKGFwcE5hbWU6IHN0cmluZywgcXVlcnlQYXJhbXM/OiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8UHJvY2Vzc0RlZmluaXRpb25DbG91ZFtdPiB7XG4gICAgICAgIGlmIChhcHBOYW1lIHx8IGFwcE5hbWUgPT09ICcnKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKGFwcE5hbWUpfS9yYi92MS9wcm9jZXNzLWRlZmluaXRpb25zYDtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KHVybCwgcXVlcnlQYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXM6IGFueSkgPT4gcmVzLmxpc3QuZW50cmllcy5tYXAoKHByb2Nlc3NEZWZzKSA9PiBuZXcgUHJvY2Vzc0RlZmluaXRpb25DbG91ZChwcm9jZXNzRGVmcy5lbnRyeSkpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCdBcHBOYW1lIG5vdCBjb25maWd1cmVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdGFydHMgYSBwcm9jZXNzIGJhc2VkIG9uIGEgcHJvY2VzcyBkZWZpbml0aW9uLCBuYW1lLCBmb3JtIHZhbHVlcyBvciB2YXJpYWJsZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBuYW1lIG9mIHRoZSBBcHBsaWNhdGlvblxuICAgICAqIEBwYXJhbSBwYXlsb2FkIERldGFpbHMgb2YgdGhlIHByb2Nlc3MgKGRlZmluaXRpb24ga2V5LCBuYW1lLCB2YXJpYWJsZXMsIGV0YylcbiAgICAgKiBAcmV0dXJucyBEZXRhaWxzIG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlIGp1c3Qgc3RhcnRlZFxuICAgICAqL1xuICAgIHN0YXJ0UHJvY2VzcyhhcHBOYW1lOiBzdHJpbmcsIHBheWxvYWQ6IFByb2Nlc3NQYXlsb2FkQ2xvdWQpOiBPYnNlcnZhYmxlPFByb2Nlc3NJbnN0YW5jZUNsb3VkPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L3JiL3YxL3Byb2Nlc3MtaW5zdGFuY2VzYDtcbiAgICAgICAgcGF5bG9hZC5wYXlsb2FkVHlwZSA9ICdTdGFydFByb2Nlc3NQYXlsb2FkJztcblxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0KHVybCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3VsdDogYW55KSA9PiByZXN1bHQuZW50cnkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgYW4gZXhpc3RpbmcgcHJvY2VzcyBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgbmFtZSBvZiB0aGUgQXBwbGljYXRpb25cbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0luc3RhbmNlSWQgcHJvY2VzcyBpbnN0YW5jZSB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBEZXRhaWxzIG9mIHRoZSBwcm9jZXNzIChkZWZpbml0aW9uIGtleSwgbmFtZSwgdmFyaWFibGVzLCBldGMpXG4gICAgICogQHJldHVybnMgRGV0YWlscyBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSBqdXN0IHN0YXJ0ZWRcbiAgICAgKi9cbiAgICB1cGRhdGVQcm9jZXNzKGFwcE5hbWU6IHN0cmluZywgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZywgcGF5bG9hZDogUHJvY2Vzc1BheWxvYWRDbG91ZCk6IE9ic2VydmFibGU8UHJvY2Vzc0luc3RhbmNlQ2xvdWQ+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRCYXNlUGF0aChhcHBOYW1lKX0vcmIvdjEvcHJvY2Vzcy1pbnN0YW5jZXMvJHtwcm9jZXNzSW5zdGFuY2VJZH1gO1xuICAgICAgICBwYXlsb2FkLnBheWxvYWRUeXBlID0gJ1VwZGF0ZVByb2Nlc3NQYXlsb2FkJztcblxuICAgICAgICByZXR1cm4gdGhpcy5wdXQodXJsLCBwYXlsb2FkKS5waXBlKG1hcCgocHJvY2Vzc0luc3RhbmNlOiBhbnkpID0+IHByb2Nlc3NJbnN0YW5jZS5lbnRyeSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZSBhbiBleGlzdGluZyBwcm9jZXNzIGluc3RhbmNlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBBcHBsaWNhdGlvbiBuYW1lXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIHRoZSBpZGVudGlmaWVyIG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlIHRvIHVwZGF0ZVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8dm9pZD5cbiAgICAgKi9cbiAgICBkZWxldGVQcm9jZXNzKGFwcE5hbWU6IHN0cmluZywgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKGFwcE5hbWUpfS9yYi92MS9wcm9jZXNzLWluc3RhbmNlcy8ke3Byb2Nlc3NJbnN0YW5jZUlkfWA7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGVsZXRlKHVybCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgc3RhdGljIHZhbHVlcyBtYXBwZWQgdG8gdGhlIHN0YXJ0IGZvcm0gb2YgYSBwcm9jZXNzIGRlZmluaXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBOYW1lIG9mIHRoZSBhcHBcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0RlZmluaXRpb25JZCBJRCBvZiB0aGUgdGFyZ2V0IHByb2Nlc3MgZGVmaW5pdGlvblxuICAgICAqIEByZXR1cm5zIFN0YXRpYyBtYXBwaW5ncyBmb3IgdGhlIHN0YXJ0IGV2ZW50XG4gICAgICovXG4gICAgZ2V0U3RhcnRFdmVudEZvcm1TdGF0aWNWYWx1ZXNNYXBwaW5nKGFwcE5hbWU6IHN0cmluZywgcHJvY2Vzc0RlZmluaXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUYXNrVmFyaWFibGVDbG91ZFtdPiB7XG4gICAgICAgIGNvbnN0IGFwaVVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L3JiL3YxL3Byb2Nlc3MtZGVmaW5pdGlvbnMvJHtwcm9jZXNzRGVmaW5pdGlvbklkfS9zdGF0aWMtdmFsdWVzYDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGFwaVVybCkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhyZXMpLmZvckVhY2goKG1hcHBpbmcpID0+IHJlc3VsdC5wdXNoKG5ldyBUYXNrVmFyaWFibGVDbG91ZCh7IG5hbWU6IG1hcHBpbmcsIHZhbHVlOiByZXNbbWFwcGluZ10gfSkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtcHJvY2Vzcy1jbG91ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9wcm9jZXNzL3N0YXJ0LXByb2Nlc3Mvc2VydmljZXMvc3RhcnQtcHJvY2Vzcy1jbG91ZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBU25GLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFDMUQ7Ozs7OztPQU1HO0lBQ0gscUJBQXFCLENBQUMsT0FBZSxFQUFFLFdBQXlCO1FBQzVELElBQUksT0FBTyxJQUFJLE9BQU8sS0FBSyxFQUFFLEVBQUU7WUFDM0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQztZQUVyRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDbEMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksc0JBQXNCLENBQUMsV0FBVyxDQUFDLEtB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ICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcm9jZXNzSW5zdGFuY2VDbG91ZCB9IGZyb20gJy4uL21vZGVscy9wcm9jZXNzLWluc3RhbmNlLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFByb2Nlc3NQYXlsb2FkQ2xvdWQgfSBmcm9tICcuLi9tb2RlbHMvcHJvY2Vzcy1wYXlsb2FkLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvY2Vzcy1kZWZpbml0aW9uLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IEJhc2VDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9iYXNlLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFza1ZhcmlhYmxlQ2xvdWQgfSBmcm9tICcuLi8uLi8uLi9mb3JtL21vZGVscy90YXNrLXZhcmlhYmxlLWNsb3VkLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVBhcmFtcyB7XG4gICAgaW5jbHVkZTogJ3ZhcmlhYmxlcyc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RhcnRQcm9jZXNzQ2xvdWRTZXJ2aWNlIGV4dGVuZHMgQmFzZUNsb3VkU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcHJvY2VzcyBkZWZpbml0aW9ucyBhc3NvY2lhdGVkIHdpdGggYW4gYXBwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEBwYXJhbSBxdWVyeVBhcmFtcyBvcHRpb25hbCBxdWVyeSBwYXJhbWV0ZXJzXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgcHJvY2VzcyBkZWZpbml0aW9uc1xuICAgICAqL1xuICAgIGdldFByb2Nlc3NEZWZpbml0aW9ucyhhcHBOYW1lOiBzdHJpbmcsIHF1ZXJ5UGFyYW1zPzogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFByb2Nlc3NEZWZpbml0aW9uQ2xvdWRbXT4ge1xuICAgICAgICBpZiAoYXBwTmFtZSB8fCBhcHBOYW1lID09PSAnJykge1xuICAgICAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRCYXNlUGF0aChhcHBOYW1lKX0vcmIvdjEvcHJvY2Vzcy1kZWZpbml0aW9uc2A7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldCh1cmwsIHF1ZXJ5UGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHJlcy5saXN0LmVudHJpZXMubWFwKChwcm9jZXNzRGVmcykgPT4gbmV3IFByb2Nlc3NEZWZpbml0aW9uQ2xvdWQocHJvY2Vzc0RlZnMuZW50cnkpKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignQXBwTmFtZSBub3QgY29uZmlndXJlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3RhcnRzIGEgcHJvY2VzcyBiYXNlZCBvbiBhIHByb2Nlc3MgZGVmaW5pdGlvbiwgbmFtZSwgZm9ybSB2YWx1ZXMgb3IgdmFyaWFibGVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgbmFtZSBvZiB0aGUgQXBwbGljYXRpb25cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBEZXRhaWxzIG9mIHRoZSBwcm9jZXNzIChkZWZpbml0aW9uIGtleSwgbmFtZSwgdmFyaWFibGVzLCBldGMpXG4gICAgICogQHJldHVybnMgRGV0YWlscyBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSBqdXN0IHN0YXJ0ZWRcbiAgICAgKi9cbiAgICBzdGFydFByb2Nlc3MoYXBwTmFtZTogc3RyaW5nLCBwYXlsb2FkOiBQcm9jZXNzUGF5bG9hZENsb3VkKTogT2JzZXJ2YWJsZTxQcm9jZXNzSW5zdGFuY2VDbG91ZD4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKGFwcE5hbWUpfS9yYi92MS9wcm9jZXNzLWluc3RhbmNlc2A7XG4gICAgICAgIHBheWxvYWQucGF5bG9hZFR5cGUgPSAnU3RhcnRQcm9jZXNzUGF5bG9hZCc7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdCh1cmwsIHBheWxvYWQpLnBpcGUobWFwKChyZXN1bHQ6IGFueSkgPT4gcmVzdWx0LmVudHJ5KSk7XG4gICAgfVxuXG4gICAgc3RhcnRQcm9jZXNzV2l0aEZvcm0oYXBwTmFtZTogc3RyaW5nLCBmb3JtSWQ6IHN0cmluZywgdmVyc2lvbjogbnVtYmVyLCBwYXlsb2FkOiBhbnkpOiBPYnNlcnZhYmxlPFByb2Nlc3NJbnN0YW5jZUNsb3VkPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L2Zvcm0vdjEvZm9ybXMvJHtmb3JtSWR9L3N1Ym1pdC92ZXJzaW9ucy8ke3ZlcnNpb259YDtcbiAgICAgICAgcGF5bG9hZC5wYXlsb2FkVHlwZSA9ICdTdGFydFByb2Nlc3NQYXlsb2FkJztcblxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0KHVybCwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIGFuIGV4aXN0aW5nIHByb2Nlc3MgaW5zdGFuY2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIG5hbWUgb2YgdGhlIEFwcGxpY2F0aW9uXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIHByb2Nlc3MgaW5zdGFuY2UgdG8gdXBkYXRlXG4gICAgICogQHBhcmFtIHBheWxvYWQgRGV0YWlscyBvZiB0aGUgcHJvY2VzcyAoZGVmaW5pdGlvbiBrZXksIG5hbWUsIHZhcmlhYmxlcywgZXRjKVxuICAgICAqIEByZXR1cm5zIERldGFpbHMgb2YgdGhlIHByb2Nlc3MgaW5zdGFuY2UganVzdCBzdGFydGVkXG4gICAgICovXG4gICAgdXBkYXRlUHJvY2VzcyhhcHBOYW1lOiBzdHJpbmcsIHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcsIHBheWxvYWQ6IFByb2Nlc3NQYXlsb2FkQ2xvdWQpOiBPYnNlcnZhYmxlPFByb2Nlc3NJbnN0YW5jZUNsb3VkPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L3JiL3YxL3Byb2Nlc3MtaW5zdGFuY2VzLyR7cHJvY2Vzc0luc3RhbmNlSWR9YDtcbiAgICAgICAgcGF5bG9hZC5wYXlsb2FkVHlwZSA9ICdVcGRhdGVQcm9jZXNzUGF5bG9hZCc7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHV0KHVybCwgcGF5bG9hZCkucGlwZShtYXAoKHByb2Nlc3NJbnN0YW5jZTogYW55KSA9PiBwcm9jZXNzSW5zdGFuY2UuZW50cnkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGUgYW4gZXhpc3RpbmcgcHJvY2VzcyBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgQXBwbGljYXRpb24gbmFtZVxuICAgICAqIEBwYXJhbSBwcm9jZXNzSW5zdGFuY2VJZCB0aGUgaWRlbnRpZmllciBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSB0byB1cGRhdGVcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPHZvaWQ+XG4gICAgICovXG4gICAgZGVsZXRlUHJvY2VzcyhhcHBOYW1lOiBzdHJpbmcsIHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRCYXNlUGF0aChhcHBOYW1lKX0vcmIvdjEvcHJvY2Vzcy1pbnN0YW5jZXMvJHtwcm9jZXNzSW5zdGFuY2VJZH1gO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmRlbGV0ZSh1cmwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHN0YXRpYyB2YWx1ZXMgbWFwcGVkIHRvIHRoZSBzdGFydCBmb3JtIG9mIGEgcHJvY2VzcyBkZWZpbml0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgYXBwXG4gICAgICogQHBhcmFtIHByb2Nlc3NEZWZpbml0aW9uSWQgSUQgb2YgdGhlIHRhcmdldCBwcm9jZXNzIGRlZmluaXRpb25cbiAgICAgKiBAcmV0dXJucyBTdGF0aWMgbWFwcGluZ3MgZm9yIHRoZSBzdGFydCBldmVudFxuICAgICAqL1xuICAgIGdldFN0YXJ0RXZlbnRGb3JtU3RhdGljVmFsdWVzTWFwcGluZyhhcHBOYW1lOiBzdHJpbmcsIHByb2Nlc3NEZWZpbml0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1ZhcmlhYmxlQ2xvdWRbXT4ge1xuICAgICAgICBjb25zdCBhcGlVcmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKGFwcE5hbWUpfS9yYi92MS9wcm9jZXNzLWRlZmluaXRpb25zLyR7cHJvY2Vzc0RlZmluaXRpb25JZH0vc3RhdGljLXZhbHVlc2A7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChhcGlVcmwpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMocmVzKS5mb3JFYWNoKChtYXBwaW5nKSA9PiByZXN1bHQucHVzaChuZXcgVGFza1ZhcmlhYmxlQ2xvdWQoeyBuYW1lOiBtYXBwaW5nLCB2YWx1ZTogcmVzW21hcHBpbmddIH0pKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -12730,6 +12730,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
12730
12730
  }]
12731
12731
  }] });
12732
12732
 
12733
+ /*!
12734
+ * @license
12735
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
12736
+ *
12737
+ * Licensed under the Apache License, Version 2.0 (the "License");
12738
+ * you may not use this file except in compliance with the License.
12739
+ * You may obtain a copy of the License at
12740
+ *
12741
+ * http://www.apache.org/licenses/LICENSE-2.0
12742
+ *
12743
+ * Unless required by applicable law or agreed to in writing, software
12744
+ * distributed under the License is distributed on an "AS IS" BASIS,
12745
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12746
+ * See the License for the specific language governing permissions and
12747
+ * limitations under the License.
12748
+ */
12749
+ const DATE_TIME_IDENTIFIER_REG_EXP = new RegExp('%{datetime}', 'i');
12750
+ const PROCESS_DEFINITION_IDENTIFIER_REG_EXP = new RegExp('%{processdefinition}', 'i');
12751
+ class ProcessNameCloudPipe {
12752
+ constructor(localizedDatePipe) {
12753
+ this.localizedDatePipe = localizedDatePipe;
12754
+ }
12755
+ transform(processNameFormat, processInstance) {
12756
+ let processName = processNameFormat;
12757
+ if (processName.match(DATE_TIME_IDENTIFIER_REG_EXP)) {
12758
+ const presentDateTime = getTime(new Date());
12759
+ processName = processName.replace(DATE_TIME_IDENTIFIER_REG_EXP, this.localizedDatePipe.transform(presentDateTime, 'medium'));
12760
+ }
12761
+ if (processName.match(PROCESS_DEFINITION_IDENTIFIER_REG_EXP)) {
12762
+ const selectedProcessDefinitionName = processInstance ? processInstance.processDefinitionName : '';
12763
+ processName = processName.replace(PROCESS_DEFINITION_IDENTIFIER_REG_EXP, selectedProcessDefinitionName);
12764
+ }
12765
+ return processName;
12766
+ }
12767
+ }
12768
+ ProcessNameCloudPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProcessNameCloudPipe, deps: [{ token: i1$1.LocalizedDatePipe }], target: i0.ɵɵFactoryTarget.Pipe });
12769
+ ProcessNameCloudPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ProcessNameCloudPipe, name: "processNameCloud" });
12770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProcessNameCloudPipe, decorators: [{
12771
+ type: Pipe,
12772
+ args: [{ name: 'processNameCloud' }]
12773
+ }], ctorParameters: function () { return [{ type: i1$1.LocalizedDatePipe }]; } });
12774
+
12733
12775
  /*!
12734
12776
  * @license
12735
12777
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -12756,6 +12798,31 @@ class ProcessPayloadCloud {
12756
12798
  }
12757
12799
  }
12758
12800
 
12801
+ /*!
12802
+ * @license
12803
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
12804
+ *
12805
+ * Licensed under the Apache License, Version 2.0 (the "License");
12806
+ * you may not use this file except in compliance with the License.
12807
+ * You may obtain a copy of the License at
12808
+ *
12809
+ * http://www.apache.org/licenses/LICENSE-2.0
12810
+ *
12811
+ * Unless required by applicable law or agreed to in writing, software
12812
+ * distributed under the License is distributed on an "AS IS" BASIS,
12813
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12814
+ * See the License for the specific language governing permissions and
12815
+ * limitations under the License.
12816
+ */
12817
+ class ProcessWithFormPayloadCloud {
12818
+ constructor(obj) {
12819
+ this.processName = obj.processName;
12820
+ this.processDefinitionKey = obj.processDefinitionKey;
12821
+ this.variables = obj.variables;
12822
+ this.values = obj.values;
12823
+ }
12824
+ }
12825
+
12759
12826
  /*!
12760
12827
  * @license
12761
12828
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -12801,6 +12868,11 @@ class StartProcessCloudService extends BaseCloudService {
12801
12868
  payload.payloadType = 'StartProcessPayload';
12802
12869
  return this.post(url, payload).pipe(map((result) => result.entry));
12803
12870
  }
12871
+ startProcessWithForm(appName, formId, version, payload) {
12872
+ const url = `${this.getBasePath(appName)}/form/v1/forms/${formId}/submit/versions/${version}`;
12873
+ payload.payloadType = 'StartProcessPayload';
12874
+ return this.post(url, payload);
12875
+ }
12804
12876
  /**
12805
12877
  * Update an existing process instance
12806
12878
  *
@@ -12852,48 +12924,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
12852
12924
  }]
12853
12925
  }] });
12854
12926
 
12855
- /*!
12856
- * @license
12857
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
12858
- *
12859
- * Licensed under the Apache License, Version 2.0 (the "License");
12860
- * you may not use this file except in compliance with the License.
12861
- * You may obtain a copy of the License at
12862
- *
12863
- * http://www.apache.org/licenses/LICENSE-2.0
12864
- *
12865
- * Unless required by applicable law or agreed to in writing, software
12866
- * distributed under the License is distributed on an "AS IS" BASIS,
12867
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12868
- * See the License for the specific language governing permissions and
12869
- * limitations under the License.
12870
- */
12871
- const DATE_TIME_IDENTIFIER_REG_EXP = new RegExp('%{datetime}', 'i');
12872
- const PROCESS_DEFINITION_IDENTIFIER_REG_EXP = new RegExp('%{processdefinition}', 'i');
12873
- class ProcessNameCloudPipe {
12874
- constructor(localizedDatePipe) {
12875
- this.localizedDatePipe = localizedDatePipe;
12876
- }
12877
- transform(processNameFormat, processInstance) {
12878
- let processName = processNameFormat;
12879
- if (processName.match(DATE_TIME_IDENTIFIER_REG_EXP)) {
12880
- const presentDateTime = getTime(new Date());
12881
- processName = processName.replace(DATE_TIME_IDENTIFIER_REG_EXP, this.localizedDatePipe.transform(presentDateTime, 'medium'));
12882
- }
12883
- if (processName.match(PROCESS_DEFINITION_IDENTIFIER_REG_EXP)) {
12884
- const selectedProcessDefinitionName = processInstance ? processInstance.processDefinitionName : '';
12885
- processName = processName.replace(PROCESS_DEFINITION_IDENTIFIER_REG_EXP, selectedProcessDefinitionName);
12886
- }
12887
- return processName;
12888
- }
12889
- }
12890
- ProcessNameCloudPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProcessNameCloudPipe, deps: [{ token: i1$1.LocalizedDatePipe }], target: i0.ɵɵFactoryTarget.Pipe });
12891
- ProcessNameCloudPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ProcessNameCloudPipe, name: "processNameCloud" });
12892
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProcessNameCloudPipe, decorators: [{
12893
- type: Pipe,
12894
- args: [{ name: 'processNameCloud' }]
12895
- }], ctorParameters: function () { return [{ type: i1$1.LocalizedDatePipe }]; } });
12896
-
12897
12927
  /*!
12898
12928
  * @license
12899
12929
  * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -13102,26 +13132,30 @@ class StartProcessCloudComponent {
13102
13132
  }
13103
13133
  }
13104
13134
  startProcess() {
13135
+ var _a, _b;
13105
13136
  this.isProcessStarting = true;
13106
- let payloadVariables = {};
13107
- if (this.variables) {
13108
- payloadVariables = this.variables;
13109
- }
13110
- if (this.hasForm) {
13111
- payloadVariables = Object.assign(payloadVariables, this.formCloud.values);
13112
- }
13113
- const createPayload = new ProcessPayloadCloud({
13114
- name: this.processInstanceName.value,
13115
- processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
13116
- variables: payloadVariables
13117
- });
13118
- this.startProcessCloudService.startProcess(this.appName, createPayload).subscribe((res) => {
13119
- this.success.emit(res);
13120
- this.isProcessStarting = false;
13121
- }, (err) => {
13122
- this.errorMessageId = 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.START';
13123
- this.error.emit(err);
13124
- this.isProcessStarting = false;
13137
+ const action = this.hasForm
13138
+ ? this.startProcessCloudService.startProcessWithForm(this.appName, this.processDefinitionCurrent.formKey, this.processDefinitionCurrent.version, new ProcessWithFormPayloadCloud({
13139
+ processName: this.processInstanceName.value,
13140
+ processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
13141
+ variables: (_a = this.variables) !== null && _a !== void 0 ? _a : {},
13142
+ values: this.formCloud.values
13143
+ }))
13144
+ : this.startProcessCloudService.startProcess(this.appName, new ProcessPayloadCloud({
13145
+ name: this.processInstanceName.value,
13146
+ processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
13147
+ variables: (_b = this.variables) !== null && _b !== void 0 ? _b : {}
13148
+ }));
13149
+ action.subscribe({
13150
+ next: (res) => {
13151
+ this.success.emit(res);
13152
+ this.isProcessStarting = false;
13153
+ },
13154
+ error: (err) => {
13155
+ this.errorMessageId = 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.START';
13156
+ this.error.emit(err);
13157
+ this.isProcessStarting = false;
13158
+ }
13125
13159
  });
13126
13160
  }
13127
13161
  cancelStartProcess() {