vcomply-workflow-engine 6.1.51 → 6.1.52
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.
- package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +2 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +8 -3
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +3 -2
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +7 -1
- package/fesm2022/vcomply-workflow-engine.mjs +16 -3
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/package.json +1 -1
package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs
CHANGED
|
@@ -268,6 +268,7 @@ export class FrequencyContainerComponent {
|
|
|
268
268
|
onFrequencySelected(event) {
|
|
269
269
|
this.frequencyData = event;
|
|
270
270
|
this.isNextDisabled = this.isInvalid();
|
|
271
|
+
console.log(this.frequencyData, 'On Completiioon');
|
|
271
272
|
}
|
|
272
273
|
openedRadio(event) {
|
|
273
274
|
this.openedRadioForm = event;
|
|
@@ -302,4 +303,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
302
303
|
}], onCompletionResponsibility: [{
|
|
303
304
|
type: Input
|
|
304
305
|
}] } });
|
|
305
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWNvbnRhaW5lci9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBU25DLE1BQU0sT0FBTywyQkFBMkI7SUE2RHRDLFlBQ1UsZ0JBQWtDLEVBQ2xDLFFBQXlCO1FBRHpCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUE5RG5DLGlCQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsU0FBUyxDQUFDO1FBR2pCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFZixhQUFRLEdBQWdDLGdCQUFnQixDQUFDO1FBS2xFLGtCQUFhLEdBQUc7WUFDZDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixJQUFJLEVBQUUsT0FBTzthQUNkO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2Qs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SUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLElBQUk7SUFFSixJQUFJO0lBRUosSUFBSTtRQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQTdTVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwrVUNqQnhDLDZyUkF1SU07OzRGRHRITywyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UseUJBQXlCO3FJQVExQixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0UsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LWNvbnRhaW5lci5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIGZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XG4gIGN1cnJlbnRUYWJOYW1lID0gJ2EgRGFpbHknO1xuXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURldGFpbHM6IGFueTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZUZyZXF1ZW5jeSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcbiAgQElucHV0KCkgZmVhdHVyZTogYW55O1xuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcbiAgQElucHV0KCkgb25Db21wbGV0aW9uUmVzcG9uc2liaWxpdHk6IGFueTtcblxuICBmcmVxdWVuY3lEYXRhOiBhbnk7XG5cbiAgZnJlcXVlbmN5TGlzdCA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnRGFpbHknLFxuICAgICAgdHlwZTogJ2RhaWx5JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdXZWVrbHknLFxuICAgICAgdHlwZTogJ3dlZWtseScsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnTW9udGhseScsXG4gICAgICB0eXBlOiAnbW9udGhseScsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnUXVhcnRlcmx5JyxcbiAgICAgIHR5cGU6ICdxdWFydGVybHknLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0JpYW5udWFsJyxcbiAgICAgIHR5cGU6ICdiaWFubnVhbCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnQW5udWFsJyxcbiAgICAgIHR5cGU6ICdhbm51YWwnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ09uZSBUaW1lJyxcbiAgICAgIHR5cGU6ICdvbmVUaW1lJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdSYW5kb20nLFxuICAgICAgdHlwZTogJ3JhbmRvbScsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnT24gQ29tcGxldGlvbiBPZicsXG4gICAgICB0eXBlOiAnb25fY29tcGxldGUnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ09uZ29pbmcnLFxuICAgICAgdHlwZTogJ29uZ29pbmcnLFxuICAgIH0sXG4gIF07XG5cbiAgc2VsZWN0ZWRGcmVxdWVuY3lEYXRhOiBhbnk7XG4gIGlzTmV4dERpc2FibGVkOiBhbnkgPSBmYWxzZTtcbiAgZmVhdHVyZUZsYWdfb25fY29tcGxldGlvbl9vZjogYW55O1xuICBvcGVuZWRSYWRpb0Zvcm06IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mZWF0dXJlRmxhZ19vbl9jb21wbGV0aW9uX29mID0gdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoXG4gICAgICAnZmZfZnJlcXVlbmN5X29uX2NvbXBsZXRpb25fb2YnXG4gICAgKTtcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEZXRhaWxzLnBhdHRlcm4gIT0gJycpIHtcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcbiAgICB9XG4gICAgY29uc3QgaGlkZUVsZW1lbnRzID0gWydyYW5kb20nLCAnb25fY29tcGxldGUnLCAnb25nb2luZyddO1xuICAgIGlmICh0aGlzLm1vZGUgPT0gJ3BvbGljeScpIHtcbiAgICAgIGhpZGVFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZyZXF1ZW5jeUxpc3QuZmluZEluZGV4KFxuICAgICAgICAgIChlbGVtZW50SW5kZXg6IGFueSkgPT4gZWxlbWVudEluZGV4LnR5cGUgPT0gZWxlbWVudFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZyZXF1ZW5jeUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBoaWRlRWxlbWVudHMyID0gWydkYWlseScsICdyYW5kb20nLCAnb25fY29tcGxldGUnLCAnb25nb2luZyddO1xuICAgIGlmICh0aGlzLm1vZGUgPT0gJ3Jldmlld2VyRnJlcXVlbmN5Jykge1xuICAgICAgdGhpcy5mcmVxdWVuY3lUYWIgPVxuICAgICAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHM/LnBhdHRlcm4gPT0gJycgPyAnd2Vla2x5JyA6IHRoaXMuZnJlcXVlbmN5VGFiO1xuICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscz8ucGF0dGVybiA9PSAnJyA/ICdhIHdlZWtseScgOiB0aGlzLmN1cnJlbnRUYWJOYW1lO1xuXG4gICAgICBoaWRlRWxlbWVudHMyLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZnJlcXVlbmN5TGlzdC5maW5kSW5kZXgoXG4gICAgICAgICAgKGVsZW1lbnRJbmRleDogYW55KSA9PiBlbGVtZW50SW5kZXgudHlwZSA9PSBlbGVtZW50XG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5TGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEZyZXF1ZW5jeURhdGEgPSBPYmplY3QuYXNzaWduKHsgLi4udGhpcy5mcmVxdWVuY3lEZXRhaWxzIH0pO1xuICAgIHRoaXMuZnJlcXVlbmN5RGF0YSA9IE9iamVjdC5hc3NpZ24oeyAuLi50aGlzLmZyZXF1ZW5jeURldGFpbHMgfSk7XG4gIH1cblxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcbiAgICBjb25zdCBmcmVxdWVuY3lQYXR0ZXJuID0gcGFyc2VJbnQoXG4gICAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMucGF0dGVybi5zcGxpdCgnficpWzBdXG4gICAgKTtcblxuICAgIHN3aXRjaCAoZnJlcXVlbmN5UGF0dGVybikge1xuICAgICAgY2FzZSAwOlxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdvbmVUaW1lJztcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIG9uZSB0aW1lJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ2RhaWx5JztcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIGRhaWx5JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSB3ZWVrbHknO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMzpcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lUYWIgPSAnbW9udGhseSc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBtb250aGx5JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ2FubnVhbCc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gYW5udWFsICc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA1OlxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBkYWlseSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA2OlxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdvbl9jb21wbGV0ZSc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gb24gY29tcGxldGlvbiBvZic7XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5yZXBvcnRfaWQgPSB0aGlzLmZyZXF1ZW5jeURldGFpbHMuc2VsZWN0ZWRSZXBvcnQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA3OlxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdxdWFydGVybHknO1xuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgcXVhcnRlcmx5JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDg6XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ3JhbmRvbSc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSByYW5kb20nO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgOTpcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lUYWIgPSAnYmlhbm51YWwnO1xuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgYmlhbm51YWwnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTA6XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZ29pbmcnO1xuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2FuIG9uZ29pbmcnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5pc05leHREaXNhYmxlZCA9IGZhbHNlO1xuICB9XG5cbiAgY2hhbmdlRnJlcXVlbmN5VGFiKGZyZXF1ZW5jeTogYW55KSB7XG4gICAgdGhpcy5mcmVxdWVuY3lUYWIgPSBmcmVxdWVuY3kudHlwZTtcblxuICAgIGlmIChmcmVxdWVuY3kubmFtZSA9PSAnT25lIFRpbWUnKSB7XG4gICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2Egb25lIHRpbWUnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID1cbiAgICAgICAgZnJlcXVlbmN5Lm5hbWUuc3RhcnRzV2l0aCgnT24nKSB8fFxuICAgICAgICBmcmVxdWVuY3kubmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYW5udWFsJ1xuICAgICAgICAgID8gJ2FuICcgKyBmcmVxdWVuY3kubmFtZVxuICAgICAgICAgIDogJ2EgJyArIGZyZXF1ZW5jeS5uYW1lO1xuICAgIH1cbiAgfVxuXG4gIGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICBsZXQgaXNJbnZhbGlkID0gZmFsc2U7XG4gICAgY29uc3QgZnJlcXVlbmN5RGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ucGF0dGVybj8uc3BsaXQoJ34nKTtcbiAgICBzd2l0Y2ggKHRoaXMuZnJlcXVlbmN5VGFiKSB7XG4gICAgICBjYXNlICdkYWlseSc6XG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3dlZWtseSc6XG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzFdID09ICcnIHx8XG4gICAgICAgICAgIWZyZXF1ZW5jeURldGFpbHNbMV0gfHxcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA8IDRcbiAgICAgICAgKSB7XG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbW9udGhseSc6XG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzJdID09ICcnIHx8XG4gICAgICAgICAgIWZyZXF1ZW5jeURldGFpbHNbMl0gfHxcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA8IDRcbiAgICAgICAgKSB7XG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmlhbm51YWwnOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzJdID09PSAnJyB8fFxuICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKT8ubGVuZ3RoIDwgMlxuICAgICAgICApIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnb25lVGltZSc6XG4gICAgICAgIGlmIChmcmVxdWVuY3lEZXRhaWxzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRUaW1lID0gbW9tZW50KFxuICAgICAgICAgICAgYCR7ZnJlcXVlbmN5RGV0YWlsc1szXX0tJHtmcmVxdWVuY3lEZXRhaWxzWzJdfS0ke2ZyZXF1ZW5jeURldGFpbHNbMV19ICR7dGhpcy5mcmVxdWVuY3lEYXRhLnRpbWVJbjEyaHJ9YCxcbiAgICAgICAgICAgICdERC1NTS1ZWVlZIEhIOm1tIGEnXG4gICAgICAgICAgKS51bml4KCk7XG4gICAgICAgICAgaWYgKERhdGUubm93KCkgLyAxMDAwID4gc2VsZWN0ZWRUaW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ1BsZWFzZSBzZXQgYSBmdXR1cmUgZGF0ZS4nLCAnYWxlcnQnKTtcbiAgICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvbl9jb21wbGV0ZSc6XG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEub25Db21wbGV0aW9uPy5yZXNwb25zaWJpbGl0eSA+IDApIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyYW5kb20nOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT0gMiAmJlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzWzJdID09ICcnIHx8XG4gICAgICAgICAgICAhZnJlcXVlbmN5RGV0YWlsc1syXSB8fFxuICAgICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPCA0KVxuICAgICAgICApIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBpc0ludmFsaWQ7XG4gIH1cblxuICBvbkZyZXF1ZW5jeVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZyZXF1ZW5jeURhdGEgPSBldmVudDtcbiAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gdGhpcy5pc0ludmFsaWQoKTtcbiAgfVxuXG4gIG9wZW5lZFJhZGlvKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9wZW5lZFJhZGlvRm9ybSA9IGV2ZW50O1xuICB9XG5cbiAgLy8gICBjaGVja05leHRWYWxpZGl0eSgpXG4gIC8vIHtcblxuICAvLyB9XG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkRnJlcXVlbmN5LmVtaXQodGhpcy5mcmVxdWVuY3lEYXRhKTtcbiAgfVxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlRnJlcXVlbmN5LmVtaXQoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgIT09ICdwb2xpY3knXCI+XG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nXCIgKm5nSWY9XCJtb2RlICE9PSAncG9saWN5J1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWhlYWQgdngtcC0zIHZ4LW1iLTQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2V0IGEgRnJlcXVlbmN5PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctYm9keSB2eC1wbC00IHZ4LXByLTRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWJvZHktaW5uZXJcIiBbbmdTd2l0Y2hdPVwiZnJlcXVlbmN5VGFiXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmcmVxdWVuY3lUeXBlIG9mIGZyZXF1ZW5jeUxpc3Q7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNoYW5nZUZyZXF1ZW5jeVRhYihmcmVxdWVuY3lUeXBlKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBiLTIgdngtbS0wXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUeXBlPy50eXBlID09IGZyZXF1ZW5jeVRhYlwiPnt7IGZyZXF1ZW5jeVR5cGU/Lm5hbWUgfX08L2J1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiLWJvdHRvbSB2eC1wbC00IHZ4LXByLTRcIj5cbiAgICAgICAgICA8IS0tIERhaWx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kYWlseSAqbmdTd2l0Y2hDYXNlPVwiJ2RhaWx5J1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCIgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1kYWlseT5cbiAgICAgICAgICA8IS0tIERhaWx5IEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBXZWVrbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LXdlZWtseSAqbmdTd2l0Y2hDYXNlPVwiJ3dlZWtseSdcIiBbbW9kZV09XCJtb2RlXCIgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktd2Vla2x5PlxuICAgICAgICAgIDwhLS0gV2Vla2x5IEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBNb250aGx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1tb250aGx5ICpuZ1N3aXRjaENhc2U9XCInbW9udGhseSdcIiBbbW9kZV09XCJtb2RlXCIgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktbW9udGhseT5cbiAgICAgICAgICA8IS0tIE1vbnRobHkgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgICAgICA8IS0tIFF1YXJ0ZXJseSBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktcXVhcnRlcmx5ICpuZ1N3aXRjaENhc2U9XCIncXVhcnRlcmx5J1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktcXVhcnRlcmx5PlxuICAgICAgICAgIDwhLS0gUXVhcnRlcmx5IEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBCaWFubnVhbCBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktYmlhbm51YWwgKm5nU3dpdGNoQ2FzZT1cIidiaWFubnVhbCdcIiBbbW9kZV09XCJtb2RlXCIgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCI+PC9hcHAtZnJlcXVlbmN5LWJpYW5udWFsPlxuICAgICAgICAgIDwhLS0gQmlhbm51YWwgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgICAgICA8IS0tIEFubnVhbCBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktYW5udWFsICpuZ1N3aXRjaENhc2U9XCInYW5udWFsJ1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCIgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1hbm51YWw+XG4gICAgICAgICAgPCEtLSBBbm51YWwgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbmUtdGltZSAqbmdTd2l0Y2hDYXNlPVwiJ29uZVRpbWUnXCIgW21vZGVdPVwibW9kZVwiIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1vbmUtdGltZT5cbiAgICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBSYW5kb20gRnJlcXVlbmN5IFN0YXJ0IC0tPlxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LXJhbmRvbSAqbmdTd2l0Y2hDYXNlPVwiJ3JhbmRvbSdcIiBbbW9kZV09XCJtb2RlXCIgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktcmFuZG9tPlxuICAgICAgICAgIDwhLS0gUmFuZG9tIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mICpuZ1N3aXRjaENhc2U9XCInb25fY29tcGxldGUnXCIgW21vZGVdPVwibW9kZVwiIFtmZWF0dXJlXT1cImZlYXR1cmVcIlxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCIgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXG4gICAgICAgICAgICBbb25Db21wbGV0aW9uUmVzcG9uc2liaWxpdHldPVwib25Db21wbGV0aW9uUmVzcG9uc2liaWxpdHlcIlxuICAgICAgICAgICAgKHJhZGlvRm9ybSk9XCJvcGVuZWRSYWRpbygkZXZlbnQpXCI+PC9hcHAtZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2Y+XG4gICAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBPbmdvaW5nIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbmdvaW5nICpuZ1N3aXRjaENhc2U9XCInb25nb2luZydcIiAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1vbmdvaW5nPlxuICAgICAgICAgIDwhLS0gT25nb2luZyBGcmVxdWVuY3kgRW5kIC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctZm9vdGVyXCIgKm5nSWY9XCIhb3BlbmVkUmFkaW9Gb3JtXCI+XG4gICAgICA8YXBwLWZsb2F0aW5nLWJhciBbc2hvd0ZyZXF1ZW5jeVRleHRdPVwidHJ1ZVwiIFtjdXJyZW50RnJlcXVlbmN5XT1cImN1cnJlbnRUYWJOYW1lXCIgW2lzRGlzYWJsZWRdPVwiaXNOZXh0RGlzYWJsZWRcIlxuICAgICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIiAoY2xvc2VMaXN0KT1cImNsb3NlKClcIj48L2FwcC1mbG9hdGluZy1iYXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48IS0tIFdoZW4gcmVzcG9uc2liaWxpdHkgbGlzdCBzaG93IHRoZW4gaGlkZSBmcmVxdWVuY3ktZGlhbG9nIGh0bWwgLS0+XG5cbjwhLS0gRm9yIFBvbGljeSAtLT5cbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nXCIgKm5nSWY9XCJtb2RlID09PSAncG9saWN5J1wiPlxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1oZWFkIHZ4LXAtMyB2eC1tYi00IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZXQgYSBGcmVxdWVuY3k8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWJvZHkgdngtcGwtNCB2eC1wci00XCI+XG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctYm9keS1pbm5lclwiIFtuZ1N3aXRjaF09XCJmcmVxdWVuY3lUYWJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZnJlcXVlbmN5VHlwZSBvZiBmcmVxdWVuY3lMaXN0OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2hhbmdlRnJlcXVlbmN5VGFiKGZyZXF1ZW5jeVR5cGUpXCJcbiAgICAgICAgICAgIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBiLTIgdngtbS0wXCJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiZnJlcXVlbmN5VHlwZT8udHlwZSA9PSBmcmVxdWVuY3lUYWJcIj57eyBmcmVxdWVuY3lUeXBlPy5uYW1lIH19PC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXRhYi1ib3R0b20gdngtcGwtNCB2eC1wci00XCI+XG4gICAgICAgIDwhLS0gRGFpbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kYWlseSAqbmdTd2l0Y2hDYXNlPVwiJ2RhaWx5J1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktZGFpbHk+XG4gICAgICAgIDwhLS0gRGFpbHkgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgICAgPCEtLSBXZWVrbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS13ZWVrbHkgKm5nU3dpdGNoQ2FzZT1cIid3ZWVrbHknXCIgW21vZGVdPVwibW9kZVwiIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCIgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS13ZWVrbHk+XG4gICAgICAgIDwhLS0gV2Vla2x5IEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgIDwhLS0gTW9udGhseSBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgIDxhcHAtZnJlcXVlbmN5LW1vbnRobHkgKm5nU3dpdGNoQ2FzZT1cIidtb250aGx5J1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktbW9udGhseT5cbiAgICAgICAgPCEtLSBNb250aGx5IEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgIDwhLS0gUXVhcnRlcmx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktcXVhcnRlcmx5ICpuZ1N3aXRjaENhc2U9XCIncXVhcnRlcmx5J1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktcXVhcnRlcmx5PlxuICAgICAgICA8IS0tIFF1YXJ0ZXJseSBGcmVxdWVuY3kgRW5kIC0tPlxuICAgICAgICA8IS0tIEJpYW5udWFsIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktYmlhbm51YWwgKm5nU3dpdGNoQ2FzZT1cIidiaWFubnVhbCdcIiBbbW9kZV09XCJtb2RlXCIgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIiBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCI+PC9hcHAtZnJlcXVlbmN5LWJpYW5udWFsPlxuICAgICAgICA8IS0tIEJpYW5udWFsIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgIDwhLS0gQW5udWFsIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktYW5udWFsICpuZ1N3aXRjaENhc2U9XCInYW5udWFsJ1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktYW5udWFsPlxuICAgICAgICA8IS0tIEFubnVhbCBGcmVxdWVuY3kgRW5kIC0tPlxuICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktb25lLXRpbWUgKm5nU3dpdGNoQ2FzZT1cIidvbmVUaW1lJ1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktb25lLXRpbWU+XG4gICAgICAgIDwhLS0gT25lIFRpbWUgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgICAgPCEtLSBSYW5kb20gRnJlcXVlbmN5IFN0YXJ0IC0tPlxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1yYW5kb20gKm5nU3dpdGNoQ2FzZT1cIidyYW5kb20nXCIgW21vZGVdPVwibW9kZVwiIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1yYW5kb20+XG4gICAgICAgIDwhLS0gUmFuZG9tIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgIDwhLS0gT24gQ29tcGxldGlvbiBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YgKm5nU3dpdGNoQ2FzZT1cIidvbl9jb21wbGV0ZSdcIiBbbW9kZV09XCJtb2RlXCJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktb24tY29tcGxldGlvbi1vZj5cbiAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgIDwhLS0gT25nb2luZyBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uZ29pbmcgKm5nU3dpdGNoQ2FzZT1cIidvbmdvaW5nJ1wiIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1vbmdvaW5nPlxuICAgICAgICA8IS0tIE9uZ29pbmcgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctZm9vdGVyXCI+XG4gICAgPGFwcC1mbG9hdGluZy1iYXIgW3Nob3dGcmVxdWVuY3lUZXh0XT1cInRydWVcIiBbY3VycmVudEZyZXF1ZW5jeV09XCJjdXJyZW50VGFiTmFtZVwiIFtpc0Rpc2FibGVkXT1cImlzTmV4dERpc2FibGVkXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiPjwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWNvbnRhaW5lci9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBU25DLE1BQU0sT0FBTywyQkFBMkI7SUE2RHRDLFlBQ1UsZ0JBQWtDLEVBQ2xDLFFBQXlCO1FBRHpCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUE5RG5DLGlCQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsU0FBUyxDQUFDO1FBR2pCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFZixhQUFRLEdBQWdDLGdCQUFnQixDQUFDO1FBS2xFLGtCQUFhLEdBQUc7WUFDZDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixJQUFJLEVBQUUsT0FBTzthQUNkO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2Qs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SUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLElBQUk7SUFFSixJQUFJO0lBRUosSUFBSTtRQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQTlTVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwrVUNqQnhDLDZyUkF1SU07OzRGRHRITywyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UseUJBQXlCO3FJQVExQixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0UsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LWNvbnRhaW5lci5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIGZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XG4gIGN1cnJlbnRUYWJOYW1lID0gJ2EgRGFpbHknO1xuXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURldGFpbHM6IGFueTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZUZyZXF1ZW5jeSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcbiAgQElucHV0KCkgZmVhdHVyZTogYW55O1xuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcbiAgQElucHV0KCkgb25Db21wbGV0aW9uUmVzcG9uc2liaWxpdHk6IGFueTtcblxuICBmcmVxdWVuY3lEYXRhOiBhbnk7XG5cbiAgZnJlcXVlbmN5TGlzdCA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnRGFpbHknLFxuICAgICAgdHlwZTogJ2RhaWx5JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdXZWVrbHknLFxuICAgICAgdHlwZTogJ3dlZWtseScsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnTW9udGhseScsXG4gICAgICB0eXBlOiAnbW9udGhseScsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnUXVhcnRlcmx5JyxcbiAgICAgIHR5cGU6ICdxdWFydGVybHknLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0JpYW5udWFsJyxcbiAgICAgIHR5cGU6ICdiaWFubnVhbCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnQW5udWFsJyxcbiAgICAgIHR5cGU6ICdhbm51YWwnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ09uZSBUaW1lJyxcbiAgICAgIHR5cGU6ICdvbmVUaW1lJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdSYW5kb20nLFxuICAgICAgdHlwZTogJ3JhbmRvbScsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnT24gQ29tcGxldGlvbiBPZicsXG4gICAgICB0eXBlOiAnb25fY29tcGxldGUnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ09uZ29pbmcnLFxuICAgICAgdHlwZTogJ29uZ29pbmcnLFxuICAgIH0sXG4gIF07XG5cbiAgc2VsZWN0ZWRGcmVxdWVuY3lEYXRhOiBhbnk7XG4gIGlzTmV4dERpc2FibGVkOiBhbnkgPSBmYWxzZTtcbiAgZmVhdHVyZUZsYWdfb25fY29tcGxldGlvbl9vZjogYW55O1xuICBvcGVuZWRSYWRpb0Zvcm06IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mZWF0dXJlRmxhZ19vbl9jb21wbGV0aW9uX29mID0gdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoXG4gICAgICAnZmZfZnJlcXVlbmN5X29uX2NvbXBsZXRpb25fb2YnXG4gICAgKTtcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEZXRhaWxzLnBhdHRlcm4gIT0gJycpIHtcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcbiAgICB9XG4gICAgY29uc3QgaGlkZUVsZW1lbnRzID0gWydyYW5kb20nLCAnb25fY29tcGxldGUnLCAnb25nb2luZyddO1xuICAgIGlmICh0aGlzLm1vZGUgPT0gJ3BvbGljeScpIHtcbiAgICAgIGhpZGVFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZyZXF1ZW5jeUxpc3QuZmluZEluZGV4KFxuICAgICAgICAgIChlbGVtZW50SW5kZXg6IGFueSkgPT4gZWxlbWVudEluZGV4LnR5cGUgPT0gZWxlbWVudFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZyZXF1ZW5jeUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBoaWRlRWxlbWVudHMyID0gWydkYWlseScsICdyYW5kb20nLCAnb25fY29tcGxldGUnLCAnb25nb2luZyddO1xuICAgIGlmICh0aGlzLm1vZGUgPT0gJ3Jldmlld2VyRnJlcXVlbmN5Jykge1xuICAgICAgdGhpcy5mcmVxdWVuY3lUYWIgPVxuICAgICAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHM/LnBhdHRlcm4gPT0gJycgPyAnd2Vla2x5JyA6IHRoaXMuZnJlcXVlbmN5VGFiO1xuICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscz8ucGF0dGVybiA9PSAnJyA/ICdhIHdlZWtseScgOiB0aGlzLmN1cnJlbnRUYWJOYW1lO1xuXG4gICAgICBoaWRlRWxlbWVudHMyLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZnJlcXVlbmN5TGlzdC5maW5kSW5kZXgoXG4gICAgICAgICAgKGVsZW1lbnRJbmRleDogYW55KSA9PiBlbGVtZW50SW5kZXgudHlwZSA9PSBlbGVtZW50XG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5TGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEZyZXF1ZW5jeURhdGEgPSBPYmplY3QuYXNzaWduKHsgLi4udGhpcy5mcmVxdWVuY3lEZXRhaWxzIH0pO1xuICAgIHRoaXMuZnJlcXVlbmN5RGF0YSA9IE9iamVjdC5hc3NpZ24oeyAuLi50aGlzLmZyZXF1ZW5jeURldGFpbHMgfSk7XG4gIH1cblxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcbiAgICBjb25zdCBmcmVxdWVuY3lQYXR0ZXJuID0gcGFyc2VJbnQoXG4gICAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMucGF0dGVybi5zcGxpdCgnficpWzBdXG4gICAgKTtcblxuICAgIHN3aXRjaCAoZnJlcXVlbmN5UGF0dGVybikge1xuICAgICAgY2FzZSAwOlxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdvbmVUaW1lJztcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIG9uZSB0aW1lJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ2RhaWx5JztcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIGRhaWx5JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSB3ZWVrbHknO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMzpcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lUYWIgPSAnbW9udGhseSc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBtb250aGx5JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ2FubnVhbCc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gYW5udWFsICc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA1OlxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBkYWlseSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA2OlxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdvbl9jb21wbGV0ZSc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gb24gY29tcGxldGlvbiBvZic7XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5yZXBvcnRfaWQgPSB0aGlzLmZyZXF1ZW5jeURldGFpbHMuc2VsZWN0ZWRSZXBvcnQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA3OlxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdxdWFydGVybHknO1xuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgcXVhcnRlcmx5JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDg6XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ3JhbmRvbSc7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSByYW5kb20nO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgOTpcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lUYWIgPSAnYmlhbm51YWwnO1xuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgYmlhbm51YWwnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTA6XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZ29pbmcnO1xuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2FuIG9uZ29pbmcnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5pc05leHREaXNhYmxlZCA9IGZhbHNlO1xuICB9XG5cbiAgY2hhbmdlRnJlcXVlbmN5VGFiKGZyZXF1ZW5jeTogYW55KSB7XG4gICAgdGhpcy5mcmVxdWVuY3lUYWIgPSBmcmVxdWVuY3kudHlwZTtcblxuICAgIGlmIChmcmVxdWVuY3kubmFtZSA9PSAnT25lIFRpbWUnKSB7XG4gICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2Egb25lIHRpbWUnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID1cbiAgICAgICAgZnJlcXVlbmN5Lm5hbWUuc3RhcnRzV2l0aCgnT24nKSB8fFxuICAgICAgICBmcmVxdWVuY3kubmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYW5udWFsJ1xuICAgICAgICAgID8gJ2FuICcgKyBmcmVxdWVuY3kubmFtZVxuICAgICAgICAgIDogJ2EgJyArIGZyZXF1ZW5jeS5uYW1lO1xuICAgIH1cbiAgfVxuXG4gIGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICBsZXQgaXNJbnZhbGlkID0gZmFsc2U7XG4gICAgY29uc3QgZnJlcXVlbmN5RGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ucGF0dGVybj8uc3BsaXQoJ34nKTtcbiAgICBzd2l0Y2ggKHRoaXMuZnJlcXVlbmN5VGFiKSB7XG4gICAgICBjYXNlICdkYWlseSc6XG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3dlZWtseSc6XG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzFdID09ICcnIHx8XG4gICAgICAgICAgIWZyZXF1ZW5jeURldGFpbHNbMV0gfHxcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA8IDRcbiAgICAgICAgKSB7XG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbW9udGhseSc6XG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzJdID09ICcnIHx8XG4gICAgICAgICAgIWZyZXF1ZW5jeURldGFpbHNbMl0gfHxcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA8IDRcbiAgICAgICAgKSB7XG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmlhbm51YWwnOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzJdID09PSAnJyB8fFxuICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHNbMl0uc3BsaXQoJywnKT8ubGVuZ3RoIDwgMlxuICAgICAgICApIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnb25lVGltZSc6XG4gICAgICAgIGlmIChmcmVxdWVuY3lEZXRhaWxzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRUaW1lID0gbW9tZW50KFxuICAgICAgICAgICAgYCR7ZnJlcXVlbmN5RGV0YWlsc1szXX0tJHtmcmVxdWVuY3lEZXRhaWxzWzJdfS0ke2ZyZXF1ZW5jeURldGFpbHNbMV19ICR7dGhpcy5mcmVxdWVuY3lEYXRhLnRpbWVJbjEyaHJ9YCxcbiAgICAgICAgICAgICdERC1NTS1ZWVlZIEhIOm1tIGEnXG4gICAgICAgICAgKS51bml4KCk7XG4gICAgICAgICAgaWYgKERhdGUubm93KCkgLyAxMDAwID4gc2VsZWN0ZWRUaW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ1BsZWFzZSBzZXQgYSBmdXR1cmUgZGF0ZS4nLCAnYWxlcnQnKTtcbiAgICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvbl9jb21wbGV0ZSc6XG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEub25Db21wbGV0aW9uPy5yZXNwb25zaWJpbGl0eSA+IDApIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyYW5kb20nOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT0gMiAmJlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzWzJdID09ICcnIHx8XG4gICAgICAgICAgICAhZnJlcXVlbmN5RGV0YWlsc1syXSB8fFxuICAgICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPCA0KVxuICAgICAgICApIHtcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBpc0ludmFsaWQ7XG4gIH1cblxuICBvbkZyZXF1ZW5jeVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZyZXF1ZW5jeURhdGEgPSBldmVudDtcbiAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gdGhpcy5pc0ludmFsaWQoKTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmZyZXF1ZW5jeURhdGEsICdPbiBDb21wbGV0aWlvb24nKTtcbiAgfVxuXG4gIG9wZW5lZFJhZGlvKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9wZW5lZFJhZGlvRm9ybSA9IGV2ZW50O1xuICB9XG5cbiAgLy8gICBjaGVja05leHRWYWxpZGl0eSgpXG4gIC8vIHtcblxuICAvLyB9XG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkRnJlcXVlbmN5LmVtaXQodGhpcy5mcmVxdWVuY3lEYXRhKTtcbiAgfVxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlRnJlcXVlbmN5LmVtaXQoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgIT09ICdwb2xpY3knXCI+XG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nXCIgKm5nSWY9XCJtb2RlICE9PSAncG9saWN5J1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWhlYWQgdngtcC0zIHZ4LW1iLTQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2V0IGEgRnJlcXVlbmN5PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctYm9keSB2eC1wbC00IHZ4LXByLTRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWJvZHktaW5uZXJcIiBbbmdTd2l0Y2hdPVwiZnJlcXVlbmN5VGFiXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmcmVxdWVuY3lUeXBlIG9mIGZyZXF1ZW5jeUxpc3Q7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNoYW5nZUZyZXF1ZW5jeVRhYihmcmVxdWVuY3lUeXBlKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBiLTIgdngtbS0wXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUeXBlPy50eXBlID09IGZyZXF1ZW5jeVRhYlwiPnt7IGZyZXF1ZW5jeVR5cGU/Lm5hbWUgfX08L2J1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiLWJvdHRvbSB2eC1wbC00IHZ4LXByLTRcIj5cbiAgICAgICAgICA8IS0tIERhaWx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kYWlseSAqbmdTd2l0Y2hDYXNlPVwiJ2RhaWx5J1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCIgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1kYWlseT5cbiAgICAgICAgICA8IS0tIERhaWx5IEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBXZWVrbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LXdlZWtseSAqbmdTd2l0Y2hDYXNlPVwiJ3dlZWtseSdcIiBbbW9kZV09XCJtb2RlXCIgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktd2Vla2x5PlxuICAgICAgICAgIDwhLS0gV2Vla2x5IEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBNb250aGx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1tb250aGx5ICpuZ1N3aXRjaENhc2U9XCInbW9udGhseSdcIiBbbW9kZV09XCJtb2RlXCIgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktbW9udGhseT5cbiAgICAgICAgICA8IS0tIE1vbnRobHkgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgICAgICA8IS0tIFF1YXJ0ZXJseSBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktcXVhcnRlcmx5ICpuZ1N3aXRjaENhc2U9XCIncXVhcnRlcmx5J1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktcXVhcnRlcmx5PlxuICAgICAgICAgIDwhLS0gUXVhcnRlcmx5IEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBCaWFubnVhbCBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktYmlhbm51YWwgKm5nU3dpdGNoQ2FzZT1cIidiaWFubnVhbCdcIiBbbW9kZV09XCJtb2RlXCIgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCI+PC9hcHAtZnJlcXVlbmN5LWJpYW5udWFsPlxuICAgICAgICAgIDwhLS0gQmlhbm51YWwgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgICAgICA8IS0tIEFubnVhbCBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktYW5udWFsICpuZ1N3aXRjaENhc2U9XCInYW5udWFsJ1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCIgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1hbm51YWw+XG4gICAgICAgICAgPCEtLSBBbm51YWwgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbmUtdGltZSAqbmdTd2l0Y2hDYXNlPVwiJ29uZVRpbWUnXCIgW21vZGVdPVwibW9kZVwiIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1vbmUtdGltZT5cbiAgICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBSYW5kb20gRnJlcXVlbmN5IFN0YXJ0IC0tPlxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LXJhbmRvbSAqbmdTd2l0Y2hDYXNlPVwiJ3JhbmRvbSdcIiBbbW9kZV09XCJtb2RlXCIgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktcmFuZG9tPlxuICAgICAgICAgIDwhLS0gUmFuZG9tIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mICpuZ1N3aXRjaENhc2U9XCInb25fY29tcGxldGUnXCIgW21vZGVdPVwibW9kZVwiIFtmZWF0dXJlXT1cImZlYXR1cmVcIlxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCIgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXG4gICAgICAgICAgICBbb25Db21wbGV0aW9uUmVzcG9uc2liaWxpdHldPVwib25Db21wbGV0aW9uUmVzcG9uc2liaWxpdHlcIlxuICAgICAgICAgICAgKHJhZGlvRm9ybSk9XCJvcGVuZWRSYWRpbygkZXZlbnQpXCI+PC9hcHAtZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2Y+XG4gICAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgICAgPCEtLSBPbmdvaW5nIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbmdvaW5nICpuZ1N3aXRjaENhc2U9XCInb25nb2luZydcIiAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1vbmdvaW5nPlxuICAgICAgICAgIDwhLS0gT25nb2luZyBGcmVxdWVuY3kgRW5kIC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctZm9vdGVyXCIgKm5nSWY9XCIhb3BlbmVkUmFkaW9Gb3JtXCI+XG4gICAgICA8YXBwLWZsb2F0aW5nLWJhciBbc2hvd0ZyZXF1ZW5jeVRleHRdPVwidHJ1ZVwiIFtjdXJyZW50RnJlcXVlbmN5XT1cImN1cnJlbnRUYWJOYW1lXCIgW2lzRGlzYWJsZWRdPVwiaXNOZXh0RGlzYWJsZWRcIlxuICAgICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIiAoY2xvc2VMaXN0KT1cImNsb3NlKClcIj48L2FwcC1mbG9hdGluZy1iYXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48IS0tIFdoZW4gcmVzcG9uc2liaWxpdHkgbGlzdCBzaG93IHRoZW4gaGlkZSBmcmVxdWVuY3ktZGlhbG9nIGh0bWwgLS0+XG5cbjwhLS0gRm9yIFBvbGljeSAtLT5cbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nXCIgKm5nSWY9XCJtb2RlID09PSAncG9saWN5J1wiPlxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1oZWFkIHZ4LXAtMyB2eC1tYi00IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZXQgYSBGcmVxdWVuY3k8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWJvZHkgdngtcGwtNCB2eC1wci00XCI+XG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctYm9keS1pbm5lclwiIFtuZ1N3aXRjaF09XCJmcmVxdWVuY3lUYWJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZnJlcXVlbmN5VHlwZSBvZiBmcmVxdWVuY3lMaXN0OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2hhbmdlRnJlcXVlbmN5VGFiKGZyZXF1ZW5jeVR5cGUpXCJcbiAgICAgICAgICAgIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBiLTIgdngtbS0wXCJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiZnJlcXVlbmN5VHlwZT8udHlwZSA9PSBmcmVxdWVuY3lUYWJcIj57eyBmcmVxdWVuY3lUeXBlPy5uYW1lIH19PC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXRhYi1ib3R0b20gdngtcGwtNCB2eC1wci00XCI+XG4gICAgICAgIDwhLS0gRGFpbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kYWlseSAqbmdTd2l0Y2hDYXNlPVwiJ2RhaWx5J1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktZGFpbHk+XG4gICAgICAgIDwhLS0gRGFpbHkgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgICAgPCEtLSBXZWVrbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS13ZWVrbHkgKm5nU3dpdGNoQ2FzZT1cIid3ZWVrbHknXCIgW21vZGVdPVwibW9kZVwiIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCIgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS13ZWVrbHk+XG4gICAgICAgIDwhLS0gV2Vla2x5IEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgIDwhLS0gTW9udGhseSBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgIDxhcHAtZnJlcXVlbmN5LW1vbnRobHkgKm5nU3dpdGNoQ2FzZT1cIidtb250aGx5J1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktbW9udGhseT5cbiAgICAgICAgPCEtLSBNb250aGx5IEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgIDwhLS0gUXVhcnRlcmx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktcXVhcnRlcmx5ICpuZ1N3aXRjaENhc2U9XCIncXVhcnRlcmx5J1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktcXVhcnRlcmx5PlxuICAgICAgICA8IS0tIFF1YXJ0ZXJseSBGcmVxdWVuY3kgRW5kIC0tPlxuICAgICAgICA8IS0tIEJpYW5udWFsIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktYmlhbm51YWwgKm5nU3dpdGNoQ2FzZT1cIidiaWFubnVhbCdcIiBbbW9kZV09XCJtb2RlXCIgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIiBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCI+PC9hcHAtZnJlcXVlbmN5LWJpYW5udWFsPlxuICAgICAgICA8IS0tIEJpYW5udWFsIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgIDwhLS0gQW5udWFsIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktYW5udWFsICpuZ1N3aXRjaENhc2U9XCInYW5udWFsJ1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktYW5udWFsPlxuICAgICAgICA8IS0tIEFubnVhbCBGcmVxdWVuY3kgRW5kIC0tPlxuICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBTdGFydCAtLT5cbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktb25lLXRpbWUgKm5nU3dpdGNoQ2FzZT1cIidvbmVUaW1lJ1wiIFttb2RlXT1cIm1vZGVcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktb25lLXRpbWU+XG4gICAgICAgIDwhLS0gT25lIFRpbWUgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgICAgPCEtLSBSYW5kb20gRnJlcXVlbmN5IFN0YXJ0IC0tPlxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1yYW5kb20gKm5nU3dpdGNoQ2FzZT1cIidyYW5kb20nXCIgW21vZGVdPVwibW9kZVwiIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1yYW5kb20+XG4gICAgICAgIDwhLS0gUmFuZG9tIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgIDwhLS0gT24gQ29tcGxldGlvbiBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YgKm5nU3dpdGNoQ2FzZT1cIidvbl9jb21wbGV0ZSdcIiBbbW9kZV09XCJtb2RlXCJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIj48L2FwcC1mcmVxdWVuY3ktb24tY29tcGxldGlvbi1vZj5cbiAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBFbmQgLS0+XG4gICAgICAgIDwhLS0gT25nb2luZyBGcmVxdWVuY3kgU3RhcnQgLS0+XG4gICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uZ29pbmcgKm5nU3dpdGNoQ2FzZT1cIidvbmdvaW5nJ1wiIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiPjwvYXBwLWZyZXF1ZW5jeS1vbmdvaW5nPlxuICAgICAgICA8IS0tIE9uZ29pbmcgRnJlcXVlbmN5IEVuZCAtLT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctZm9vdGVyXCI+XG4gICAgPGFwcC1mbG9hdGluZy1iYXIgW3Nob3dGcmVxdWVuY3lUZXh0XT1cInRydWVcIiBbY3VycmVudEZyZXF1ZW5jeV09XCJjdXJyZW50VGFiTmFtZVwiIFtpc0Rpc2FibGVkXT1cImlzTmV4dERpc2FibGVkXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiPjwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -67,6 +67,7 @@ export class FrequencyOnCompletionOfComponent {
|
|
|
67
67
|
}
|
|
68
68
|
onResponsibilitySelection(event) {
|
|
69
69
|
this.selectedResponsibilityDetails = event;
|
|
70
|
+
this.onCompletionResponsibility = event?.responsibility;
|
|
70
71
|
this.getOnCompletionFrequency();
|
|
71
72
|
}
|
|
72
73
|
getCompletionReports() {
|
|
@@ -106,6 +107,10 @@ export class FrequencyOnCompletionOfComponent {
|
|
|
106
107
|
this.frequencyInfo.timeIn12hr = this.onCompletionOfTime;
|
|
107
108
|
this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h(this.onCompletionOfTime);
|
|
108
109
|
this.frequencyInfo.failed_time_utc = 0;
|
|
110
|
+
this.frequencyInfo.onCompletionResponsibility = {
|
|
111
|
+
title: this.selectedResponsibilityDetails?.responsibility?.title,
|
|
112
|
+
id: this.selectedResponsibilityDetails?.responsibility?.id,
|
|
113
|
+
};
|
|
109
114
|
this.frequencyInfo.onCompletion = {
|
|
110
115
|
dueAfter: this.onCompletionOfInput,
|
|
111
116
|
responsibility: this.selectedResponsibilityDetails?.responsibility?.id,
|
|
@@ -138,11 +143,11 @@ export class FrequencyOnCompletionOfComponent {
|
|
|
138
143
|
this.onTimeChanged(selectedValue);
|
|
139
144
|
}
|
|
140
145
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FrequencyOnCompletionOfComponent, deps: [{ token: i1.FrequencyService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FrequencyOnCompletionOfComponent, selector: "app-frequency-on-completion-of", inputs: { mode: "mode", feature: "feature", onCompletionResponsibility: "onCompletionResponsibility", startDate: "startDate", frequencyData: "frequencyData" }, outputs: { frequencyDetails: "frequencyDetails", radioForm: "radioForm" }, ngImport: i0, template: "<div class=\"frequency-completion\" *ngIf=\"mode !== 'policy' || backButton\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n DUE DATE FREQUENCY:\n </div>\n <div class=\"frequency-completion-inner\">\n <div class=\"frequency-completion-top vx-p-3 vx-d-flex vx-align-center\">\n <input class=\"countNum\" type=\"number\" [(ngModel)]=\"onCompletionOfInput\" (change)=\"inputValueChange($event)\"\n onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\" />\n <div class=\"vx-fs-13 vx-paragraph-txt\">day after completion of</div>\n </div>\n <div class=\"frequency-completion-bottom vx-p-3\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n RESPONSIBILITY\n </div>\n <div class=\"vx-d-flex vx-align-center\">\n <ng-container>\n <div *ngIf=\"!onCompletionResponsibility.title\" [class.disabled]=\"placeholder === 'Loading...'\"\n class=\"select-box vx-fs-11 vx-paragraph-txt vx-p-2 vx-pl-3 vx-pr-3 vx-mr-3 vx-d-flex vx-align-center vx-justify-between vx-w-100\"\n (click)=\"openRadioResponsibility($event)\">\n {{\n placeholder === \"Loading...\"\n ? \"Loading...\"\n : \"Select a Responsibility\"\n }}\n <i class=\"icons vx-fs-10\"></i>\n </div>\n <div *ngIf=\"onCompletionResponsibility?.title as respName\"\n class=\"after-select-box vx-p-1 vx-mr-3 vx-d-flex vx-align-center vx-justify-between vx-w-100\">\n <div class=\"select-chip vx-fs-12 vx-paragraph-txt vx-p-1 vx-pl-2 vx-pr-2 vx-d-flex vx-align-center\">\n <i class=\"icons cross vx-fs-14 vx-mr-1\" (click)=\"remove()\"></i>\n <span [appTooltip]=\"respName\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{\n respName }}</span>\n </div>\n <button\n class=\"edit-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"openRadioResponsibility($event)\">\n <i class=\"icons vx-mr-1\" (click)=\"openRadioResponsibility($event)\"></i>\n EDIT\n </button>\n </div>\n <app-frequency-responsibility-list *ngIf=\"openRadio\" [feature]=\"feature\" [selectedResponsibilityDetails]=\"\n onCompletionResponsibility\n \" (backButton)=\"openRadioResponsibility($event)\"\n (selectedResponsibility)=\"onResponsibilitySelection($event)\"></app-frequency-responsibility-list>\n </ng-container>\n\n <div class=\"time-picker-group vx-d-flex\" *ngIf=\"!openRadio\">\n <div class=\"time-field\" appPopover (click)=\"timePicker.popover()\" placement=\"right\">\n <input class=\"input\" [placeholder]=\"onCompletionOfTime | uppercase\" readonly />\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\n </div>\n </div>\n <app-popover #timePicker [dontCloseonClick]=\"true\">\n <app-time-picker [time]=\"onCompletionOfTime\" (onTimeSelection)=\"\n timeSelection($event); timePicker.closePopover('top')\n \"></app-time-picker>\n </app-popover>\n </div>\n </div>\n </div>\n </div>\n <app-frequency-due-date [id]=\"3\" [pageName]=\"'onCompletion'\" [mode]=\"mode\" [isDeactivated]=\"false\"\n [completedValue]=\"onCompletionOfWindow\" [notCompletedValue]=\"onCompletionOfFailed\"\n (valueChange)=\"onValueChange($event)\"></app-frequency-due-date>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-completion-inner{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-completion-top input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem 0 0;outline:none}::ng-deep .frequency-completion-top input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-completion-top input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-completion-bottom{border-top:1px solid #f1f1f1}::ng-deep .frequency-completion-bottom .select-box{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2rem}::ng-deep .frequency-completion-bottom .select-box.disabled{pointer-events:none;opacity:.5}::ng-deep .frequency-completion-bottom .after-select-box{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;height:2rem}::ng-deep .frequency-completion-bottom .after-select-box .select-chip{background:#fff;border-radius:.125rem;box-shadow:0 2px 4px #1e5dd31a}::ng-deep .frequency-completion-bottom .after-select-box .select-chip .cross{cursor:pointer}::ng-deep .frequency-completion-bottom .after-select-box .select-chip span{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:30rem}::ng-deep .frequency-completion-bottom .after-select-box button.edit-btn{background:#fff;border-radius:.125rem;border:1px solid #f1f1f1;height:1.5rem}::ng-deep .frequency-completion-bottom cs-select{width:100%;margin-right:.75rem}::ng-deep .frequency-completion-bottom cs-select .selection-wrap .input-group input.value{height:2rem!important;font-size:11px!important}::ng-deep .frequency-completion-bottom .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-completion-bottom .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1;cursor:pointer}::ng-deep .frequency-completion-bottom .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-completion-bottom .time-picker-group .time-field{position:relative;cursor:pointer}::ng-deep .frequency-completion-bottom .time-picker-group .time-field.disable{background:#f1f1f1;border-radius:.25rem}::ng-deep .frequency-completion-bottom .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}::ng-deep .selection-wrap .input-group i{top:12px!important}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: i6.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.TimePickerComponent, selector: "app-time-picker", inputs: ["time"], outputs: ["onTimeSelection"] }, { kind: "component", type: i8.FrequencyDueDateComponent, selector: "app-frequency-due-date", inputs: ["mode", "pageType", "completedRequired", "notCompletedRequired", "completedValue", "notCompletedValue", "deactivateValue", "isDeactivated", "id", "pageName"], outputs: ["valueChange"] }, { kind: "component", type: i9.FrequencyResponsibilityListComponent, selector: "app-frequency-responsibility-list", inputs: ["onCompletionOfResponsibility", "selectedResponsibilityDetails"], outputs: ["backButton", "selectedResponsibility"] }, { kind: "pipe", type: i3.UpperCasePipe, name: "uppercase" }] }); }
|
|
146
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FrequencyOnCompletionOfComponent, selector: "app-frequency-on-completion-of", inputs: { mode: "mode", feature: "feature", onCompletionResponsibility: "onCompletionResponsibility", startDate: "startDate", frequencyData: "frequencyData" }, outputs: { frequencyDetails: "frequencyDetails", radioForm: "radioForm" }, ngImport: i0, template: "<div class=\"frequency-completion\" *ngIf=\"mode !== 'policy' || backButton\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n DUE DATE FREQUENCY:\n </div>\n <div class=\"frequency-completion-inner\">\n <div class=\"frequency-completion-top vx-p-3 vx-d-flex vx-align-center\">\n <input class=\"countNum\" type=\"number\" [(ngModel)]=\"onCompletionOfInput\" (change)=\"inputValueChange($event)\"\n onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\" />\n <div class=\"vx-fs-13 vx-paragraph-txt\">day after completion of</div>\n </div>\n <div class=\"frequency-completion-bottom vx-p-3\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n RESPONSIBILITY\n </div>\n <div class=\"vx-d-flex vx-align-center\">\n <ng-container>\n <div *ngIf=\"!onCompletionResponsibility?.title\" [class.disabled]=\"placeholder === 'Loading...'\"\n class=\"select-box vx-fs-11 vx-paragraph-txt vx-p-2 vx-pl-3 vx-pr-3 vx-mr-3 vx-d-flex vx-align-center vx-justify-between vx-w-100\"\n (click)=\"openRadioResponsibility($event)\">\n {{\n placeholder === \"Loading...\"\n ? \"Loading...\"\n : \"Select a Responsibility\"\n }}\n <i class=\"icons vx-fs-10\"></i>\n </div>\n <div *ngIf=\"onCompletionResponsibility?.title as respName\"\n class=\"after-select-box vx-p-1 vx-mr-3 vx-d-flex vx-align-center vx-justify-between vx-w-100\">\n <div class=\"select-chip vx-fs-12 vx-paragraph-txt vx-p-1 vx-pl-2 vx-pr-2 vx-d-flex vx-align-center\">\n <i class=\"icons cross vx-fs-14 vx-mr-1\" (click)=\"remove()\"></i>\n <span [appTooltip]=\"respName\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{\n respName }}</span>\n </div>\n <button\n class=\"edit-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"openRadioResponsibility($event)\">\n <i class=\"icons vx-mr-1\" (click)=\"openRadioResponsibility($event)\"></i>\n EDIT\n </button>\n </div>\n <app-frequency-responsibility-list *ngIf=\"openRadio\" [feature]=\"feature\" [selectedResponsibilityDetails]=\"\n onCompletionResponsibility\n \" (backButton)=\"openRadioResponsibility($event)\"\n (selectedResponsibility)=\"onResponsibilitySelection($event)\"></app-frequency-responsibility-list>\n </ng-container>\n\n <div class=\"time-picker-group vx-d-flex\" *ngIf=\"!openRadio\">\n <div class=\"time-field\" appPopover (click)=\"timePicker.popover()\" placement=\"right\">\n <input class=\"input\" [placeholder]=\"onCompletionOfTime | uppercase\" readonly />\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\n </div>\n </div>\n <app-popover #timePicker [dontCloseonClick]=\"true\">\n <app-time-picker [time]=\"onCompletionOfTime\" (onTimeSelection)=\"\n timeSelection($event); timePicker.closePopover('top')\n \"></app-time-picker>\n </app-popover>\n </div>\n </div>\n </div>\n </div>\n <app-frequency-due-date [id]=\"3\" [pageName]=\"'onCompletion'\" [mode]=\"mode\" [isDeactivated]=\"false\"\n [completedValue]=\"onCompletionOfWindow\" [notCompletedValue]=\"onCompletionOfFailed\"\n (valueChange)=\"onValueChange($event)\"></app-frequency-due-date>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-completion-inner{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-completion-top input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem 0 0;outline:none}::ng-deep .frequency-completion-top input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-completion-top input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-completion-bottom{border-top:1px solid #f1f1f1}::ng-deep .frequency-completion-bottom .select-box{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2rem}::ng-deep .frequency-completion-bottom .select-box.disabled{pointer-events:none;opacity:.5}::ng-deep .frequency-completion-bottom .after-select-box{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;height:2rem}::ng-deep .frequency-completion-bottom .after-select-box .select-chip{background:#fff;border-radius:.125rem;box-shadow:0 2px 4px #1e5dd31a}::ng-deep .frequency-completion-bottom .after-select-box .select-chip .cross{cursor:pointer}::ng-deep .frequency-completion-bottom .after-select-box .select-chip span{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:30rem}::ng-deep .frequency-completion-bottom .after-select-box button.edit-btn{background:#fff;border-radius:.125rem;border:1px solid #f1f1f1;height:1.5rem}::ng-deep .frequency-completion-bottom cs-select{width:100%;margin-right:.75rem}::ng-deep .frequency-completion-bottom cs-select .selection-wrap .input-group input.value{height:2rem!important;font-size:11px!important}::ng-deep .frequency-completion-bottom .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-completion-bottom .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1;cursor:pointer}::ng-deep .frequency-completion-bottom .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-completion-bottom .time-picker-group .time-field{position:relative;cursor:pointer}::ng-deep .frequency-completion-bottom .time-picker-group .time-field.disable{background:#f1f1f1;border-radius:.25rem}::ng-deep .frequency-completion-bottom .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}::ng-deep .selection-wrap .input-group i{top:12px!important}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"], outputs: ["closePopoverEvent"] }, { kind: "directive", type: i6.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.TimePickerComponent, selector: "app-time-picker", inputs: ["time"], outputs: ["onTimeSelection"] }, { kind: "component", type: i8.FrequencyDueDateComponent, selector: "app-frequency-due-date", inputs: ["mode", "pageType", "completedRequired", "notCompletedRequired", "completedValue", "notCompletedValue", "deactivateValue", "isDeactivated", "id", "pageName"], outputs: ["valueChange"] }, { kind: "component", type: i9.FrequencyResponsibilityListComponent, selector: "app-frequency-responsibility-list", inputs: ["onCompletionOfResponsibility", "selectedResponsibilityDetails"], outputs: ["backButton", "selectedResponsibility"] }, { kind: "pipe", type: i3.UpperCasePipe, name: "uppercase" }] }); }
|
|
142
147
|
}
|
|
143
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FrequencyOnCompletionOfComponent, decorators: [{
|
|
144
149
|
type: Component,
|
|
145
|
-
args: [{ selector: 'app-frequency-on-completion-of', template: "<div class=\"frequency-completion\" *ngIf=\"mode !== 'policy' || backButton\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n DUE DATE FREQUENCY:\n </div>\n <div class=\"frequency-completion-inner\">\n <div class=\"frequency-completion-top vx-p-3 vx-d-flex vx-align-center\">\n <input class=\"countNum\" type=\"number\" [(ngModel)]=\"onCompletionOfInput\" (change)=\"inputValueChange($event)\"\n onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\" />\n <div class=\"vx-fs-13 vx-paragraph-txt\">day after completion of</div>\n </div>\n <div class=\"frequency-completion-bottom vx-p-3\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n RESPONSIBILITY\n </div>\n <div class=\"vx-d-flex vx-align-center\">\n <ng-container>\n <div *ngIf=\"!onCompletionResponsibility
|
|
150
|
+
args: [{ selector: 'app-frequency-on-completion-of', template: "<div class=\"frequency-completion\" *ngIf=\"mode !== 'policy' || backButton\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n DUE DATE FREQUENCY:\n </div>\n <div class=\"frequency-completion-inner\">\n <div class=\"frequency-completion-top vx-p-3 vx-d-flex vx-align-center\">\n <input class=\"countNum\" type=\"number\" [(ngModel)]=\"onCompletionOfInput\" (change)=\"inputValueChange($event)\"\n onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\" />\n <div class=\"vx-fs-13 vx-paragraph-txt\">day after completion of</div>\n </div>\n <div class=\"frequency-completion-bottom vx-p-3\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n RESPONSIBILITY\n </div>\n <div class=\"vx-d-flex vx-align-center\">\n <ng-container>\n <div *ngIf=\"!onCompletionResponsibility?.title\" [class.disabled]=\"placeholder === 'Loading...'\"\n class=\"select-box vx-fs-11 vx-paragraph-txt vx-p-2 vx-pl-3 vx-pr-3 vx-mr-3 vx-d-flex vx-align-center vx-justify-between vx-w-100\"\n (click)=\"openRadioResponsibility($event)\">\n {{\n placeholder === \"Loading...\"\n ? \"Loading...\"\n : \"Select a Responsibility\"\n }}\n <i class=\"icons vx-fs-10\"></i>\n </div>\n <div *ngIf=\"onCompletionResponsibility?.title as respName\"\n class=\"after-select-box vx-p-1 vx-mr-3 vx-d-flex vx-align-center vx-justify-between vx-w-100\">\n <div class=\"select-chip vx-fs-12 vx-paragraph-txt vx-p-1 vx-pl-2 vx-pr-2 vx-d-flex vx-align-center\">\n <i class=\"icons cross vx-fs-14 vx-mr-1\" (click)=\"remove()\"></i>\n <span [appTooltip]=\"respName\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{\n respName }}</span>\n </div>\n <button\n class=\"edit-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"openRadioResponsibility($event)\">\n <i class=\"icons vx-mr-1\" (click)=\"openRadioResponsibility($event)\"></i>\n EDIT\n </button>\n </div>\n <app-frequency-responsibility-list *ngIf=\"openRadio\" [feature]=\"feature\" [selectedResponsibilityDetails]=\"\n onCompletionResponsibility\n \" (backButton)=\"openRadioResponsibility($event)\"\n (selectedResponsibility)=\"onResponsibilitySelection($event)\"></app-frequency-responsibility-list>\n </ng-container>\n\n <div class=\"time-picker-group vx-d-flex\" *ngIf=\"!openRadio\">\n <div class=\"time-field\" appPopover (click)=\"timePicker.popover()\" placement=\"right\">\n <input class=\"input\" [placeholder]=\"onCompletionOfTime | uppercase\" readonly />\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\n </div>\n </div>\n <app-popover #timePicker [dontCloseonClick]=\"true\">\n <app-time-picker [time]=\"onCompletionOfTime\" (onTimeSelection)=\"\n timeSelection($event); timePicker.closePopover('top')\n \"></app-time-picker>\n </app-popover>\n </div>\n </div>\n </div>\n </div>\n <app-frequency-due-date [id]=\"3\" [pageName]=\"'onCompletion'\" [mode]=\"mode\" [isDeactivated]=\"false\"\n [completedValue]=\"onCompletionOfWindow\" [notCompletedValue]=\"onCompletionOfFailed\"\n (valueChange)=\"onValueChange($event)\"></app-frequency-due-date>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-completion-inner{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-completion-top input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem 0 0;outline:none}::ng-deep .frequency-completion-top input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-completion-top input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-completion-bottom{border-top:1px solid #f1f1f1}::ng-deep .frequency-completion-bottom .select-box{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2rem}::ng-deep .frequency-completion-bottom .select-box.disabled{pointer-events:none;opacity:.5}::ng-deep .frequency-completion-bottom .after-select-box{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;height:2rem}::ng-deep .frequency-completion-bottom .after-select-box .select-chip{background:#fff;border-radius:.125rem;box-shadow:0 2px 4px #1e5dd31a}::ng-deep .frequency-completion-bottom .after-select-box .select-chip .cross{cursor:pointer}::ng-deep .frequency-completion-bottom .after-select-box .select-chip span{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:30rem}::ng-deep .frequency-completion-bottom .after-select-box button.edit-btn{background:#fff;border-radius:.125rem;border:1px solid #f1f1f1;height:1.5rem}::ng-deep .frequency-completion-bottom cs-select{width:100%;margin-right:.75rem}::ng-deep .frequency-completion-bottom cs-select .selection-wrap .input-group input.value{height:2rem!important;font-size:11px!important}::ng-deep .frequency-completion-bottom .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-completion-bottom .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1;cursor:pointer}::ng-deep .frequency-completion-bottom .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-completion-bottom .time-picker-group .time-field{position:relative;cursor:pointer}::ng-deep .frequency-completion-bottom .time-picker-group .time-field.disable{background:#f1f1f1;border-radius:.25rem}::ng-deep .frequency-completion-bottom .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}::ng-deep .selection-wrap .input-group i{top:12px!important}\n"] }]
|
|
146
151
|
}], ctorParameters: function () { return [{ type: i1.FrequencyService }]; }, propDecorators: { mode: [{
|
|
147
152
|
type: Input
|
|
148
153
|
}], feature: [{
|
|
@@ -158,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
158
163
|
}], radioForm: [{
|
|
159
164
|
type: Output
|
|
160
165
|
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7O0FBT2pFLE1BQU0sT0FBTyxnQ0FBZ0M7SUEwQjNDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBekI3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBR3hCLGlCQUFZLEdBQVcsWUFBWSxDQUFDO1FBQ3BDLHdCQUFtQixHQUFHLENBQUMsQ0FBQztRQUN4Qix5QkFBb0IsR0FBRyxDQUFDLENBQUM7UUFDekIseUJBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLHVCQUFrQixHQUFHLFlBQVksQ0FBQztRQUNsQyxpQ0FBNEIsR0FBZSxFQUFFLENBQUM7UUFDOUMsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUMzQixnQkFBVyxHQUFHLFlBQVksQ0FBQztRQUUz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QUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLDZCQUE2QjtZQUN0RCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQztZQUM3RCxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0QixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0FwSlUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsaVRDWDdDLDR1SEFpRU07OzRGRHRETyxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0UsZ0NBQWdDO3VHQUtqQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFhRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5LnNlcnZpY2UnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcbmltcG9ydCB7IGVsZW1lbnRBdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERFRkFVTFRfVElNRSB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy90aW1lLmNvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktb24tY29tcGxldGlvbi1vZicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktb24tY29tcGxldGlvbi1vZi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeU9uQ29tcGxldGlvbk9mQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbW9kZTogYW55ID0gJyc7XG4gIEBJbnB1dCgpIGZlYXR1cmU6IGFueTtcbiAgQElucHV0KCkgb25Db21wbGV0aW9uUmVzcG9uc2liaWxpdHk6IGFueTtcbiAgREVGQVVMVF9USU1FOiBzdHJpbmcgPSBERUZBVUxUX1RJTUU7XG4gIG9uQ29tcGxldGlvbk9mSW5wdXQgPSAxO1xuICBvbkNvbXBsZXRpb25PZldpbmRvdyA9IDM7XG4gIG9uQ29tcGxldGlvbk9mRmFpbGVkID0gNTtcbiAgb25Db21wbGV0aW9uT2ZUaW1lID0gREVGQVVMVF9USU1FO1xuICBvbkNvbXBsZXRpb25PZlJlc3BvbnNpYmlsaXR5OiBBcnJheTxhbnk+ID0gW107XG4gIGlzTGlmZWN5Y2xlTW9kaWZpZWQgPSBmYWxzZTtcbiAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eSA9IDA7XG4gIHBsYWNlaG9sZGVyID0gJ0xvYWRpbmcuLi4nO1xuICBmcmVxdWVuY3lJbmZvOiBhbnk7XG4gIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzOiBhbnkgPSB7fTtcblxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xuICBsaWZlY3ljbGVEZXRhaWxzOiBhbnkgPSAnMDAwMC0wMC0wMH5+MCc7XG5cbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHJhZGlvRm9ybSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBvcGVuUmFkaW86IGJvb2xlYW4gPSBmYWxzZTtcbiAgYmFja0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1NlbGVjdGVkRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcbiAgICB0aGlzLmdldENvbXBsZXRpb25SZXBvcnRzKCk7XG4gICAgdGhpcy5nZXRPbkNvbXBsZXRpb25GcmVxdWVuY3koKTtcbiAgICB0aGlzLmlzU2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlsc1xuICAgICAgPyBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzKT8ubGVuZ3RoID4gMFxuICAgICAgOiBmYWxzZTtcbiAgfVxuXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xuICAgIGNvbnN0IGZyZXF1ZW5jeVNlbGVjdGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcbiAgICB0aGlzLm9uQ29tcGxldGlvbk9mSW5wdXQgPSBwYXJzZUludChmcmVxdWVuY3lTZWxlY3RlZFszXSk7XG4gICAgdGhpcy5vbkNvbXBsZXRpb25PZkZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWQ7XG4gICAgdGhpcy5vbkNvbXBsZXRpb25PZldpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YS53aW5kb3c7XG4gICAgdGhpcy5vbkNvbXBsZXRpb25PZlRpbWUgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkVGltZTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLm9uQ29tcGxldGlvblJlc3BvbnNpYmlsaXR5O1xuICAgIHRoaXMuZ2V0T25Db21wbGV0aW9uRnJlcXVlbmN5KCk7XG4gICAgdGhpcy5pc1NlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHNcbiAgICAgID8gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscyk/Lmxlbmd0aCA+IDBcbiAgICAgIDogZmFsc2U7XG4gIH1cblxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLm9uQ29tcGxldGlvbk9mVGltZSA9IGV2ZW50O1xuICAgIHRoaXMuZ2V0T25Db21wbGV0aW9uRnJlcXVlbmN5KCk7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcbiAgICAgIHRoaXMub25Db21wbGV0aW9uT2ZXaW5kb3cgPSBldmVudC52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNvbXBsZXRpb25PZkZhaWxlZCA9IGV2ZW50LnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmdldE9uQ29tcGxldGlvbkZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgb25SZXNwb25zaWJpbGl0eVNlbGVjdGlvbihldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscyA9IGV2ZW50O1xuICAgIHRoaXMuZ2V0T25Db21wbGV0aW9uRnJlcXVlbmN5KCk7XG4gIH1cblxuICBnZXRDb21wbGV0aW9uUmVwb3J0cygpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHkgPSAwO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSAnU2VsZWN0IGEgUmVzcG9uc2liaWxpdHknO1xuICAgIHRoaXMub25Db21wbGV0aW9uT2ZSZXNwb25zaWJpbGl0eSA9IFtdO1xuXG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YT8ub25Db21wbGV0aW9uUmVwb3J0RGV0YWlscykge1xuICAgICAgdGhpcy5vbkNvbXBsZXRpb25PZlJlc3BvbnNpYmlsaXR5LnB1c2goXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YT8ub25Db21wbGV0aW9uUmVwb3J0RGV0YWlsc1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxuICAgICAgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDZcbiAgICApIHtcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcbiAgICB9XG4gIH1cblxuICBpbnB1dFZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uQ29tcGxldGlvbk9mSW5wdXQgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICBpZiAodGhpcy5vbkNvbXBsZXRpb25PZklucHV0IDwgMSkge1xuICAgICAgdGhpcy5vbkNvbXBsZXRpb25PZklucHV0ID0gMTtcbiAgICB9XG4gICAgdGhpcy5nZXRPbkNvbXBsZXRpb25GcmVxdWVuY3koKTtcbiAgfVxuXG4gIGdldE9uQ29tcGxldGlvbkZyZXF1ZW5jeSgpIHtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPVxuICAgICAgdGhpcy5vbkNvbXBsZXRpb25PZklucHV0ICtcbiAgICAgICcgJyArXG4gICAgICAodGhpcy5vbkNvbXBsZXRpb25PZklucHV0ID4gMSA/ICdkYXlzJyA6ICdkYXknKSArXG4gICAgICAnIGFmdGVyIGNvbXBsZXRpb24gb2YgJyArXG4gICAgICAodGhpcy5vbkNvbXBsZXRpb25PZlJlc3BvbnNpYmlsaXR5ICYmXG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzPy5yZXNwb25zaWJpbGl0eT8udGl0bGVcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzPy5yZXNwb25zaWJpbGl0eT8udGl0bGVcbiAgICAgICAgOiAnJyk7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPVxuICAgICAgNiArICd+JyArICcwJyArICd+JyArICcwJyArICd+JyArIHRoaXMub25Db21wbGV0aW9uT2ZJbnB1dDtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uY2FzZSA9ICdvbl9jb21wbGV0ZSc7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5vbkNvbXBsZXRpb25PZkZhaWxlZDtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ud2luZG93ID0gdGhpcy5vbkNvbXBsZXRpb25PZldpbmRvdztcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMTJociA9IHRoaXMub25Db21wbGV0aW9uT2ZUaW1lO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4yNEhyID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnRpbWVGcm9tMTJoVG8yNGgoXG4gICAgICB0aGlzLm9uQ29tcGxldGlvbk9mVGltZVxuICAgICk7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IDA7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLm9uQ29tcGxldGlvbiA9IHtcbiAgICAgIGR1ZUFmdGVyOiB0aGlzLm9uQ29tcGxldGlvbk9mSW5wdXQsXG4gICAgICByZXNwb25zaWJpbGl0eTogdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscz8ucmVzcG9uc2liaWxpdHk/LmlkLFxuICAgICAgYXNzaWduZWU6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHM/LnJlc3BvbnNpYmlsaXR5Py5hc3NpZ25lZURldGFpbHNbMF0/LmFzc2lnbmVlLFxuICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHM/LnJlc3BvbnNpYmlsaXR5Py5hc3NpZ25lZURldGFpbHNbMF0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyXG4gICAgfVxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XG4gIH1cblxuICBvcGVuUmFkaW9SZXNwb25zaWJpbGl0eShldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50ID09PSAnYmFja1RvT25Db21wbGV0aW9uJykge1xuICAgICAgdGhpcy5iYWNrQnV0dG9uID0gdHJ1ZTtcbiAgICAgIHRoaXMub3BlblJhZGlvID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlblJhZGlvID0gdHJ1ZTtcbiAgICAgIHRoaXMuYmFja0J1dHRvbiA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnJhZGlvRm9ybS5lbWl0KHRoaXMub3BlblJhZGlvKTtcbiAgfVxuXG4gIHJlbW92ZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzID0ge307XG4gICAgdGhpcy5pc1NlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHNcbiAgICAgID8gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscyk/Lmxlbmd0aCA+IDBcbiAgICAgIDogZmFsc2U7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xuICB9XG5cbiAgdGltZVNlbGVjdGlvbihldmVudDogYW55KSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IGV2ZW50LnNlbGVjdGVkVmFsdWU7XG4gICAgdGhpcy5vblRpbWVDaGFuZ2VkKHNlbGVjdGVkVmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWNvbXBsZXRpb25cIiAqbmdJZj1cIm1vZGUgIT09ICdwb2xpY3knIHx8IGJhY2tCdXR0b25cIj5cbiAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5cbiAgICBEVUUgREFURSBGUkVRVUVOQ1k6XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWNvbXBsZXRpb24taW5uZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWNvbXBsZXRpb24tdG9wIHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICA8aW5wdXQgY2xhc3M9XCJjb3VudE51bVwiIHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cIm9uQ29tcGxldGlvbk9mSW5wdXRcIiAoY2hhbmdlKT1cImlucHV0VmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIiBtaW49XCIwXCIgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiIC8+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dFwiPmRheSBhZnRlciBjb21wbGV0aW9uIG9mPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1jb21wbGV0aW9uLWJvdHRvbSB2eC1wLTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+XG4gICAgICAgIFJFU1BPTlNJQklMSVRZXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFvbkNvbXBsZXRpb25SZXNwb25zaWJpbGl0eS50aXRsZVwiIFtjbGFzcy5kaXNhYmxlZF09XCJwbGFjZWhvbGRlciA9PT0gJ0xvYWRpbmcuLi4nXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWJveCB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMiB2eC1wbC0zIHZ4LXByLTMgdngtbXItMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC13LTEwMFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlblJhZGlvUmVzcG9uc2liaWxpdHkoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyID09PSBcIkxvYWRpbmcuLi5cIlxuICAgICAgICAgICAgPyBcIkxvYWRpbmcuLi5cIlxuICAgICAgICAgICAgOiBcIlNlbGVjdCBhIFJlc3BvbnNpYmlsaXR5XCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEwXCI+JiN4ZTllODs8L2k+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIm9uQ29tcGxldGlvblJlc3BvbnNpYmlsaXR5Py50aXRsZSBhcyByZXNwTmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFmdGVyLXNlbGVjdC1ib3ggdngtcC0xIHZ4LW1yLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtdy0xMDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtY2hpcCB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMSB2eC1wbC0yIHZ4LXByLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNyb3NzIHZ4LWZzLTE0IHZ4LW1yLTFcIiAoY2xpY2spPVwicmVtb3ZlKClcIj4mI3hlOWFlOzwvaT5cbiAgICAgICAgICAgICAgPHNwYW4gW2FwcFRvb2x0aXBdPVwicmVzcE5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57e1xuICAgICAgICAgICAgICAgIHJlc3BOYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiZWRpdC1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC1ibHVlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGwtMSB2eC1wci0xIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5SYWRpb1Jlc3BvbnNpYmlsaXR5KCRldmVudClcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1tci0xXCIgKGNsaWNrKT1cIm9wZW5SYWRpb1Jlc3BvbnNpYmlsaXR5KCRldmVudClcIj4mI3hlOTBjOzwvaT5cbiAgICAgICAgICAgICAgRURJVFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdCAqbmdJZj1cIm9wZW5SYWRpb1wiIFtmZWF0dXJlXT1cImZlYXR1cmVcIiBbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHNdPVwiXG4gICAgICAgICAgb25Db21wbGV0aW9uUmVzcG9uc2liaWxpdHlcbiAgICAgICAgICAgIFwiIChiYWNrQnV0dG9uKT1cIm9wZW5SYWRpb1Jlc3BvbnNpYmlsaXR5KCRldmVudClcIlxuICAgICAgICAgICAgKHNlbGVjdGVkUmVzcG9uc2liaWxpdHkpPVwib25SZXNwb25zaWJpbGl0eVNlbGVjdGlvbigkZXZlbnQpXCI+PC9hcHAtZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3Q+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXBpY2tlci1ncm91cCB2eC1kLWZsZXhcIiAqbmdJZj1cIiFvcGVuUmFkaW9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1maWVsZFwiIGFwcFBvcG92ZXIgKGNsaWNrKT1cInRpbWVQaWNrZXIucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwicmlnaHRcIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImlucHV0XCIgW3BsYWNlaG9sZGVyXT1cIm9uQ29tcGxldGlvbk9mVGltZSB8IHVwcGVyY2FzZVwiIHJlYWRvbmx5IC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvY2staWNvbiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dFwiPiYjeGU5NTU7PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGFwcC1wb3BvdmVyICN0aW1lUGlja2VyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxhcHAtdGltZS1waWNrZXIgW3RpbWVdPVwib25Db21wbGV0aW9uT2ZUaW1lXCIgKG9uVGltZVNlbGVjdGlvbik9XCJcbiAgICAgICAgICAgICAgICB0aW1lU2VsZWN0aW9uKCRldmVudCk7IHRpbWVQaWNrZXIuY2xvc2VQb3BvdmVyKCd0b3AnKVxuICAgICAgICAgICAgICBcIj48L2FwcC10aW1lLXBpY2tlcj5cbiAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGFwcC1mcmVxdWVuY3ktZHVlLWRhdGUgW2lkXT1cIjNcIiBbcGFnZU5hbWVdPVwiJ29uQ29tcGxldGlvbidcIiBbbW9kZV09XCJtb2RlXCIgW2lzRGVhY3RpdmF0ZWRdPVwiZmFsc2VcIlxuICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJvbkNvbXBsZXRpb25PZldpbmRvd1wiIFtub3RDb21wbGV0ZWRWYWx1ZV09XCJvbkNvbXBsZXRpb25PZkZhaWxlZFwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZT5cbjwvZGl2PiJdfQ==
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7O0FBT2pFLE1BQU0sT0FBTyxnQ0FBZ0M7SUEwQjNDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBekI3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBR3hCLGlCQUFZLEdBQVcsWUFBWSxDQUFDO1FBQ3BDLHdCQUFtQixHQUFHLENBQUMsQ0FBQztRQUN4Qix5QkFBb0IsR0FBRyxDQUFDLENBQUM7UUFDekIseUJBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLHVCQUFrQixHQUFHLFlBQVksQ0FBQztRQUNsQyxpQ0FBNEIsR0FBZSxFQUFFLENBQUM7UUFDOUMsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUMzQixnQkFBVyxHQUFHLFlBQVksQ0FBQztRQUUz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QWYsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBYUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XG5pbXBvcnQgeyBlbGVtZW50QXQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBERUZBVUxUX1RJTUUgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvdGltZS5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YnLFxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktb24tY29tcGxldGlvbi1vZi5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lPbkNvbXBsZXRpb25PZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xuICBASW5wdXQoKSBmZWF0dXJlOiBhbnk7XG4gIEBJbnB1dCgpIG9uQ29tcGxldGlvblJlc3BvbnNpYmlsaXR5OiBhbnk7XG4gIERFRkFVTFRfVElNRTogc3RyaW5nID0gREVGQVVMVF9USU1FO1xuICBvbkNvbXBsZXRpb25PZklucHV0ID0gMTtcbiAgb25Db21wbGV0aW9uT2ZXaW5kb3cgPSAzO1xuICBvbkNvbXBsZXRpb25PZkZhaWxlZCA9IDU7XG4gIG9uQ29tcGxldGlvbk9mVGltZSA9IERFRkFVTFRfVElNRTtcbiAgb25Db21wbGV0aW9uT2ZSZXNwb25zaWJpbGl0eTogQXJyYXk8YW55PiA9IFtdO1xuICBpc0xpZmVjeWNsZU1vZGlmaWVkID0gZmFsc2U7XG4gIHNlbGVjdGVkUmVzcG9uc2liaWxpdHkgPSAwO1xuICBwbGFjZWhvbGRlciA9ICdMb2FkaW5nLi4uJztcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlsczogYW55ID0ge307XG5cbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xuXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSByYWRpb0Zvcm0gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgb3BlblJhZGlvOiBib29sZWFuID0gZmFsc2U7XG4gIGJhY2tCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNTZWxlY3RlZERhdGE6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XG4gICAgdGhpcy5nZXRDb21wbGV0aW9uUmVwb3J0cygpO1xuICAgIHRoaXMuZ2V0T25Db21wbGV0aW9uRnJlcXVlbmN5KCk7XG4gICAgdGhpcy5pc1NlbGVjdGVkRGF0YSA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHNcbiAgICAgID8gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscyk/Lmxlbmd0aCA+IDBcbiAgICAgIDogZmFsc2U7XG4gIH1cblxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcbiAgICBjb25zdCBmcmVxdWVuY3lTZWxlY3RlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+Jyk7XG4gICAgdGhpcy5vbkNvbXBsZXRpb25PZklucHV0ID0gcGFyc2VJbnQoZnJlcXVlbmN5U2VsZWN0ZWRbM10pO1xuICAgIHRoaXMub25Db21wbGV0aW9uT2ZGYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkO1xuICAgIHRoaXMub25Db21wbGV0aW9uT2ZXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xuICAgIHRoaXMub25Db21wbGV0aW9uT2ZUaW1lID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZFRpbWU7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5vbkNvbXBsZXRpb25SZXNwb25zaWJpbGl0eTtcbiAgICB0aGlzLmdldE9uQ29tcGxldGlvbkZyZXF1ZW5jeSgpO1xuICAgIHRoaXMuaXNTZWxlY3RlZERhdGEgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzXG4gICAgICA/IE9iamVjdC5rZXlzKHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMpPy5sZW5ndGggPiAwXG4gICAgICA6IGZhbHNlO1xuICB9XG5cbiAgb25UaW1lQ2hhbmdlZChldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5vbkNvbXBsZXRpb25PZlRpbWUgPSBldmVudDtcbiAgICB0aGlzLmdldE9uQ29tcGxldGlvbkZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjb21wbGV0ZWQnKSB7XG4gICAgICB0aGlzLm9uQ29tcGxldGlvbk9mV2luZG93ID0gZXZlbnQudmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25Db21wbGV0aW9uT2ZGYWlsZWQgPSBldmVudC52YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5nZXRPbkNvbXBsZXRpb25GcmVxdWVuY3koKTtcbiAgfVxuXG4gIG9uUmVzcG9uc2liaWxpdHlTZWxlY3Rpb24oZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMgPSBldmVudDtcbiAgICB0aGlzLm9uQ29tcGxldGlvblJlc3BvbnNpYmlsaXR5ID0gZXZlbnQ/LnJlc3BvbnNpYmlsaXR5O1xuICAgIHRoaXMuZ2V0T25Db21wbGV0aW9uRnJlcXVlbmN5KCk7XG4gIH1cblxuICBnZXRDb21wbGV0aW9uUmVwb3J0cygpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHkgPSAwO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSAnU2VsZWN0IGEgUmVzcG9uc2liaWxpdHknO1xuICAgIHRoaXMub25Db21wbGV0aW9uT2ZSZXNwb25zaWJpbGl0eSA9IFtdO1xuXG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YT8ub25Db21wbGV0aW9uUmVwb3J0RGV0YWlscykge1xuICAgICAgdGhpcy5vbkNvbXBsZXRpb25PZlJlc3BvbnNpYmlsaXR5LnB1c2goXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YT8ub25Db21wbGV0aW9uUmVwb3J0RGV0YWlsc1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxuICAgICAgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDZcbiAgICApIHtcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcbiAgICB9XG4gIH1cblxuICBpbnB1dFZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uQ29tcGxldGlvbk9mSW5wdXQgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICBpZiAodGhpcy5vbkNvbXBsZXRpb25PZklucHV0IDwgMSkge1xuICAgICAgdGhpcy5vbkNvbXBsZXRpb25PZklucHV0ID0gMTtcbiAgICB9XG4gICAgdGhpcy5nZXRPbkNvbXBsZXRpb25GcmVxdWVuY3koKTtcbiAgfVxuXG4gIGdldE9uQ29tcGxldGlvbkZyZXF1ZW5jeSgpIHtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPVxuICAgICAgdGhpcy5vbkNvbXBsZXRpb25PZklucHV0ICtcbiAgICAgICcgJyArXG4gICAgICAodGhpcy5vbkNvbXBsZXRpb25PZklucHV0ID4gMSA/ICdkYXlzJyA6ICdkYXknKSArXG4gICAgICAnIGFmdGVyIGNvbXBsZXRpb24gb2YgJyArXG4gICAgICAodGhpcy5vbkNvbXBsZXRpb25PZlJlc3BvbnNpYmlsaXR5ICYmXG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzPy5yZXNwb25zaWJpbGl0eT8udGl0bGVcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzPy5yZXNwb25zaWJpbGl0eT8udGl0bGVcbiAgICAgICAgOiAnJyk7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPVxuICAgICAgNiArICd+JyArICcwJyArICd+JyArICcwJyArICd+JyArIHRoaXMub25Db21wbGV0aW9uT2ZJbnB1dDtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uY2FzZSA9ICdvbl9jb21wbGV0ZSc7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5vbkNvbXBsZXRpb25PZkZhaWxlZDtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ud2luZG93ID0gdGhpcy5vbkNvbXBsZXRpb25PZldpbmRvdztcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMTJociA9IHRoaXMub25Db21wbGV0aW9uT2ZUaW1lO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4yNEhyID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnRpbWVGcm9tMTJoVG8yNGgoXG4gICAgICB0aGlzLm9uQ29tcGxldGlvbk9mVGltZVxuICAgICk7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IDA7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLm9uQ29tcGxldGlvblJlc3BvbnNpYmlsaXR5ID0ge1xuICAgICAgdGl0bGU6IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHM/LnJlc3BvbnNpYmlsaXR5Py50aXRsZSxcbiAgICAgIGlkOiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzPy5yZXNwb25zaWJpbGl0eT8uaWQsXG4gICAgfTtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ub25Db21wbGV0aW9uID0ge1xuICAgICAgZHVlQWZ0ZXI6IHRoaXMub25Db21wbGV0aW9uT2ZJbnB1dCxcbiAgICAgIHJlc3BvbnNpYmlsaXR5OiB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzPy5yZXNwb25zaWJpbGl0eT8uaWQsXG4gICAgICBhc3NpZ25lZTogdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscz8ucmVzcG9uc2liaWxpdHk/LmFzc2lnbmVlRGV0YWlsc1swXT8uYXNzaWduZWUsXG4gICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlscz8ucmVzcG9uc2liaWxpdHk/LmFzc2lnbmVlRGV0YWlsc1swXT8ucmVzcG9uc2liaWxpdHlDZW50ZXJcbiAgICB9XG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcbiAgfVxuXG4gIG9wZW5SYWRpb1Jlc3BvbnNpYmlsaXR5KGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQgPT09ICdiYWNrVG9PbkNvbXBsZXRpb24nKSB7XG4gICAgICB0aGlzLmJhY2tCdXR0b24gPSB0cnVlO1xuICAgICAgdGhpcy5vcGVuUmFkaW8gPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuUmFkaW8gPSB0cnVlO1xuICAgICAgdGhpcy5iYWNrQnV0dG9uID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMucmFkaW9Gb3JtLmVtaXQodGhpcy5vcGVuUmFkaW8pO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHMgPSB7fTtcbiAgICB0aGlzLmlzU2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5RGV0YWlsc1xuICAgICAgPyBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlEZXRhaWxzKT8ubGVuZ3RoID4gMFxuICAgICAgOiBmYWxzZTtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XG4gIH1cblxuICB0aW1lU2VsZWN0aW9uKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlID0gZXZlbnQuc2VsZWN0ZWRWYWx1ZTtcbiAgICB0aGlzLm9uVGltZUNoYW5nZWQoc2VsZWN0ZWRWYWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktY29tcGxldGlvblwiICpuZ0lmPVwibW9kZSAhPT0gJ3BvbGljeScgfHwgYmFja0J1dHRvblwiPlxuICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlxuICAgIERVRSBEQVRFIEZSRVFVRU5DWTpcbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktY29tcGxldGlvbi1pbm5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktY29tcGxldGlvbi10b3AgdngtcC0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgIDxpbnB1dCBjbGFzcz1cImNvdW50TnVtXCIgdHlwZT1cIm51bWJlclwiIFsobmdNb2RlbCldPVwib25Db21wbGV0aW9uT2ZJbnB1dFwiIChjaGFuZ2UpPVwiaW5wdXRWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCIgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+ZGF5IGFmdGVyIGNvbXBsZXRpb24gb2Y8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWNvbXBsZXRpb24tYm90dG9tIHZ4LXAtM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5cbiAgICAgICAgUkVTUE9OU0lCSUxJVFlcbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW9uQ29tcGxldGlvblJlc3BvbnNpYmlsaXR5Py50aXRsZVwiIFtjbGFzcy5kaXNhYmxlZF09XCJwbGFjZWhvbGRlciA9PT0gJ0xvYWRpbmcuLi4nXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWJveCB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMiB2eC1wbC0zIHZ4LXByLTMgdngtbXItMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC13LTEwMFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlblJhZGlvUmVzcG9uc2liaWxpdHkoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyID09PSBcIkxvYWRpbmcuLi5cIlxuICAgICAgICAgICAgPyBcIkxvYWRpbmcuLi5cIlxuICAgICAgICAgICAgOiBcIlNlbGVjdCBhIFJlc3BvbnNpYmlsaXR5XCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEwXCI+JiN4ZTllODs8L2k+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIm9uQ29tcGxldGlvblJlc3BvbnNpYmlsaXR5Py50aXRsZSBhcyByZXNwTmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFmdGVyLXNlbGVjdC1ib3ggdngtcC0xIHZ4LW1yLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtdy0xMDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtY2hpcCB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMSB2eC1wbC0yIHZ4LXByLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNyb3NzIHZ4LWZzLTE0IHZ4LW1yLTFcIiAoY2xpY2spPVwicmVtb3ZlKClcIj4mI3hlOWFlOzwvaT5cbiAgICAgICAgICAgICAgPHNwYW4gW2FwcFRvb2x0aXBdPVwicmVzcE5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57e1xuICAgICAgICAgICAgICAgIHJlc3BOYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiZWRpdC1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC1ibHVlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGwtMSB2eC1wci0xIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5SYWRpb1Jlc3BvbnNpYmlsaXR5KCRldmVudClcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1tci0xXCIgKGNsaWNrKT1cIm9wZW5SYWRpb1Jlc3BvbnNpYmlsaXR5KCRldmVudClcIj4mI3hlOTBjOzwvaT5cbiAgICAgICAgICAgICAgRURJVFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdCAqbmdJZj1cIm9wZW5SYWRpb1wiIFtmZWF0dXJlXT1cImZlYXR1cmVcIiBbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eURldGFpbHNdPVwiXG4gICAgICAgICAgb25Db21wbGV0aW9uUmVzcG9uc2liaWxpdHlcbiAgICAgICAgICAgIFwiIChiYWNrQnV0dG9uKT1cIm9wZW5SYWRpb1Jlc3BvbnNpYmlsaXR5KCRldmVudClcIlxuICAgICAgICAgICAgKHNlbGVjdGVkUmVzcG9uc2liaWxpdHkpPVwib25SZXNwb25zaWJpbGl0eVNlbGVjdGlvbigkZXZlbnQpXCI+PC9hcHAtZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3Q+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXBpY2tlci1ncm91cCB2eC1kLWZsZXhcIiAqbmdJZj1cIiFvcGVuUmFkaW9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1maWVsZFwiIGFwcFBvcG92ZXIgKGNsaWNrKT1cInRpbWVQaWNrZXIucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwicmlnaHRcIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImlucHV0XCIgW3BsYWNlaG9sZGVyXT1cIm9uQ29tcGxldGlvbk9mVGltZSB8IHVwcGVyY2FzZVwiIHJlYWRvbmx5IC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvY2staWNvbiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dFwiPiYjeGU5NTU7PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGFwcC1wb3BvdmVyICN0aW1lUGlja2VyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxhcHAtdGltZS1waWNrZXIgW3RpbWVdPVwib25Db21wbGV0aW9uT2ZUaW1lXCIgKG9uVGltZVNlbGVjdGlvbik9XCJcbiAgICAgICAgICAgICAgICB0aW1lU2VsZWN0aW9uKCRldmVudCk7IHRpbWVQaWNrZXIuY2xvc2VQb3BvdmVyKCd0b3AnKVxuICAgICAgICAgICAgICBcIj48L2FwcC10aW1lLXBpY2tlcj5cbiAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGFwcC1mcmVxdWVuY3ktZHVlLWRhdGUgW2lkXT1cIjNcIiBbcGFnZU5hbWVdPVwiJ29uQ29tcGxldGlvbidcIiBbbW9kZV09XCJtb2RlXCIgW2lzRGVhY3RpdmF0ZWRdPVwiZmFsc2VcIlxuICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJvbkNvbXBsZXRpb25PZldpbmRvd1wiIFtub3RDb21wbGV0ZWRWYWx1ZV09XCJvbkNvbXBsZXRpb25PZkZhaWxlZFwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZT5cbjwvZGl2PiJdfQ==
|