ps-toolkit-ui 1.18.99 → 1.19.0
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/bundles/ps-toolkit-ui.umd.js +1 -1
- package/bundles/ps-toolkit-ui.umd.js.map +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js.map +1 -1
- package/esm2015/lib/components/form/select/form.select.component.js +2 -2
- package/fesm2015/ps-toolkit-ui.js +1 -1
- package/fesm2015/ps-toolkit-ui.js.map +1 -1
- package/package.json +1 -1
|
@@ -20,7 +20,7 @@ export class FormSelectComponent {
|
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
22
|
if (v != null) {
|
|
23
|
-
|
|
23
|
+
this.setValue(v.map(String));
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
};
|
|
@@ -430,4 +430,4 @@ FormSelectComponent.propDecorators = {
|
|
|
430
430
|
inputOptionsDiv: [{ type: ViewChild, args: ['inputOptionsDiv',] }],
|
|
431
431
|
inputLabel: [{ type: ViewChild, args: ['inputLabel',] }]
|
|
432
432
|
};
|
|
433
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L2Zvcm0uc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUMsVUFBVSxFQUFjLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFPMUQsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU9FLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUt6QyxZQUFPLEdBQUcsRUFBRSxDQUFDO0lBNFlmLENBQUM7SUExWUMsSUFBSSxJQUFJLEtBQXVCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQztJQUtsRCxRQUFROztRQUNOLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLGtCQUFrQixFQUFDO1lBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakI7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUM7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENB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O3lCQUMzQixTQUFTLFNBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgJCBmcm9tICdqcXVlcnknO1xyXG5pbXBvcnQge0lucHV0Q2xhc3MsIE9wdGlvbkNsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0RXJyb3IsIElucHV0VHlwZX0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtIZWxwZXJDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9oZWxwZXIuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZm9ybS1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLnNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5zZWxlY3QuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZUluZGV4ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQElucHV0KClcclxuICBpbnA6IElucHV0Q2xhc3M7XHJcbiAgQElucHV0KClcclxuICBpbkZvcm06IGJvb2xlYW47XHJcbiAgY1NlYXJjaCA9ICcnO1xyXG4gIGFkZEljb246IElucHV0Q2xhc3M7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZSB7IHJldHVybiBJbnB1dFR5cGU7IH1cclxuICBAVmlld0NoaWxkKCdpbnB1dERpdicpIGlucHV0RGl2OiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0QmFzZScpIGlucHV0QmFzZTogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dE9wdGlvbnNEaXYnKSBpbnB1dE9wdGlvbnNEaXY6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRMYWJlbCcpIGlucHV0TGFiZWw6IEVsZW1lbnRSZWY7XHJcbiAgbmdPbkluaXQoKTogdm9pZHtcclxuICAgIGlmICh0aGlzLmlucC50eXBlICE9PSBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlKXtcclxuICAgICAgdGhpcy5pbnAubG9hZCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnAuc2V0VmFsdWUgPSAodiwgaXNFZGl0KSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5pbnAubXVsdGlwbGUpe1xyXG4gICAgICAgIHRoaXMuc2VsZWN0T3B0aW9uKHYgPT0gbnVsbCA/IG51bGwgOiB2LnRvU3RyaW5nKCksIGlzRWRpdCk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGlmICh2ICE9IG51bGwpe1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMuc2V0VmFsdWUodi5tYXAoU3RyaW5nKSk7IH0sIDEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMuaW5wLmRlZmF1bHQgIT0gbnVsbCl7XHJcbiAgICAgIHRoaXMuaW5wLnNldFZhbHVlKHRoaXMuaW5wLmRlZmF1bHQsIGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5wLnNldFNlYXJjaCA9IChzKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLnNlYXJjaCA9IHM7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuZm9jdXMgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMub3Blbk9wdGlvbnMoKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5pc1ZhbGlkID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIGlmICh0aGlzLmlucC5yZXF1aXJlZCAmJiAoKCF0aGlzLmlucC5tdWx0aXBsZSAmJiAoKHRoaXMuaW5wLmFkZE5ldyAmJiAhdGhpcy5pbnAuc2VhcmNoKSB8fCAoIXRoaXMuaW5wLmFkZE5ldyAmJiAhdGhpcy5pbnAudmFsdWUpKSkgfHxcclxuICAgICAgICAodGhpcy5pbnAubXVsdGlwbGUgJiYgdGhpcy5pbnAuZ2V0U2VsZWN0ZWQoKS5sZW5ndGggPT09IDApKSkge1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5SZXF1aXJlZDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5wLmFkZE5ldyAmJiB0aGlzLmlucC52YWx1ZSA9PSBudWxsICYmIHRoaXMuaW5wLnNlYXJjaCAhPSBudWxsICYmICEoSGVscGVyQ2xhc3MubmF0aW9uYWxDb2RlVmFsaWQodGhpcy5pbnAuc2VhcmNoKSB8fCBIZWxwZXJDbGFzcy5uYXRpb25hbE51bVZhbGlkKHRoaXMuaW5wLnNlYXJjaCkpICYmXHJcbiAgICAgICAgL15cXGQrJC8udGVzdCh0aGlzLmlucC5zZWFyY2gucmVwbGFjZSgvLS9nLCAnJykucmVwbGFjZSgvXFwuL2csICcnKSkpe1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5JbnZhbGlkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5jbGVhciA9ICgpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICBpZiAoIXRoaXMuaW5wLm11bHRpcGxlKXtcclxuICAgICAgICB0aGlzLmlucC5zZXRWYWx1ZSh0aGlzLmlucC5kZWZhdWx0LCB0cnVlKTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5zZXRWYWx1ZShbXSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5wLnJlbCAhPSBudWxsKXtcclxuICAgICAgICB0aGlzLmlucC5yZWwub3B0aW9ucyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmlucC50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlKXtcclxuICAgICAgICB0aGlzLmlucC5vcHRpb25zID0gW107XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5kYXRhID0gKCkgPT4ge1xyXG4gICAgICBjb25zdCBkID0ge307XHJcbiAgICAgIGlmICh0aGlzLmlucC5tdWx0aXBsZSl7XHJcbiAgICAgICAgZFt0aGlzLmlucC5uYW1lXSA9IHRoaXMuaW5wLmdldFNlbGVjdGVkKCk7XHJcbiAgICAgICAgZFt0aGlzLmlucC5uYW1lICsgJ05hbWUnXSA9IHRoaXMuaW5wLmdldFNlbGVjdGVkTmFtZSgpO1xyXG4gICAgICAgIHJldHVybiBkO1xyXG4gICAgICB9XHJcbiAgICAgIGRbdGhpcy5pbnAubmFtZV0gPSB0aGlzLmlucC5hZGROZXcgPyB0aGlzLmlucC5zZWFyY2ggOiB0aGlzLmlucC52YWx1ZTtcclxuICAgICAgZFt0aGlzLmlucC5uYW1lICsgJ05hbWUnXSA9IHRoaXMuaW5wLnNlYXJjaDtcclxuICAgICAgcmV0dXJuIGQ7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuZm9jdXNPdXQgPSAoKSA9PiB7XHJcbiAgICAgICQodGhpcy5pbnB1dEJhc2UubmF0aXZlRWxlbWVudCkuYmx1cigpO1xyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLmlucC5oYXNCYXJjb2RlUmVhZGVyKXtcclxuICAgICAgSGVscGVyQ2xhc3Muc2V0QmFyY29kZVJlYWRlcih0aGlzLmlucCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pbnAuYWRkTW9kYWwpe1xyXG4gICAgICBpZiAodGhpcy5pbnAuYWRkTW9kYWwuZm9ybT8ucGVybWlzc2lvbil7XHJcbiAgICAgICAgdGhpcy5hZGRJY29uID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsICdBZGQnICsgdGhpcy5pbnAubmFtZSwgJ2ZhZCBmYS1wbHVzJywgSW5wdXRUeXBlLkljb24sICdibHVlIG0tci0xNS1wJyArICh0aGlzLmlucC5kaXNwbGF5TGFiZWwgPyAnIG0tdC0yMycgOiAnJykpO1xyXG4gICAgICAgIHRoaXMuYWRkSWNvbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbnAuYWRkTW9kYWwuc2hvdygpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgc2V0VmFsdWUoaWRzLCByb3dzID0gdGhpcy5pbnAub3B0aW9ucyk6IGJvb2xlYW57XHJcbiAgICBmb3IgKGNvbnN0IHIgb2Ygcm93cyl7XHJcbiAgICAgIHIuc2VsZWN0ZWQgPSBpZHMuaW5jbHVkZXMoci52YWx1ZSk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbmx5Q2hpbGQpe1xyXG4gICAgICAgIGlmIChyLnNlbGVjdGVkKXtcclxuICAgICAgICAgIHRoaXMuY2hlY2tQYXJlbnQoci5wYXJlbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNldFZhbHVlKGlkcywgci5vcHRpb25zKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICBsb2FkT3B0aW9ucygpOiB2b2lke1xyXG4gICAgY29uc3QgdiA9IHRoaXMuaW5wLnNlYXJjaC5yZXBsYWNlKC9eXyt8XyskL2csICcnKS5yZXBsYWNlKC9cXC4vZywgJ19fZG90X18nKTtcclxuICAgIGlmICh2KXtcclxuICAgICAgdGhpcy5pbnAubG9hZCh0aGlzLmlucC51cmwucmVwbGFjZSgne30nLCB2KSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5pbnAub3B0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuICBvcGVuT3B0aW9ucygpOiB2b2lke1xyXG4gICAgdGhpcy5zZXRQb3NpdGlvbigpO1xyXG4gICAgdGhpcy5zZXRIb3ZlckNlbnRlcigpO1xyXG4gICAgJCh0aGlzLmlucHV0QmFzZS5uYXRpdmVFbGVtZW50KS5mb2N1cygpO1xyXG4gIH1cclxuICBvbkZvY3VzT3V0KCk6IHZvaWR7XHJcbiAgICB0aGlzLmNsb3NlT3B0aW9ucygpO1xyXG4gIH1cclxuICBjbG9zZU9wdGlvbnMoKTogYm9vbGVhbntcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAkKHRoaXMuaW5wdXREaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3RvcCcpO1xyXG4gICAgICB0aGlzLnJlbW92ZUhvdmVyKCk7XHJcbiAgICAgIGlmICh0aGlzLmlucC52YWx1ZSA9PT0gbnVsbCl7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlucC5hZGROZXcpe1xyXG4gICAgICAgICAgdGhpcy5pbnAuc2VhcmNoID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmlucC50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlKXtcclxuICAgICAgICAgIHRoaXMuaW5wLm9wdGlvbnMgPSBbXTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuc2V0T3B0aW9ucygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMSk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgc2V0UG9zaXRpb24oKTogdm9pZHtcclxuICAgIGNvbnN0IHJlY3QgPSB0aGlzLmlucHV0RGl2Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBvZmZzZXRPZkJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIHJlY3QuYm90dG9tO1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5pbnB1dE9wdGlvbnNEaXYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICBpZiAob2Zmc2V0T2ZCb3R0b20gPCBoZWlnaHQpe1xyXG4gICAgICAkKHRoaXMuaW5wdXREaXYubmF0aXZlRWxlbWVudCkuYWRkQ2xhc3MoJ3RvcCcpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgICQodGhpcy5pbnB1dERpdi5uYXRpdmVFbGVtZW50KS5yZW1vdmVDbGFzcygndG9wJyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldE9wdGlvbnMociA9IHRoaXMuaW5wLm9wdGlvbnMpOiB2b2lke1xyXG4gICAgci5tYXAoKHgpID0+IHtcclxuICAgICAgdGhpcy5zZXRPcHRpb25zKHgub3B0aW9ucyk7XHJcbiAgICAgIHguc2hvdyA9ICh0aGlzLmlucC52YWx1ZSAhPT0gbnVsbCB8fCB0aGlzLmlucC5zZWFyY2ggPT09ICcnIHx8IHgubmFtZS5pbmNsdWRlcyh0aGlzLmlucC5zZWFyY2gpIHx8XHJcbiAgICAgICAgICB4LnZhbHVlLmluY2x1ZGVzKHRoaXMuaW5wLnNlYXJjaCkgfHwgeC5vcHRpb25zLmZpbHRlcihvID0+IG8uc2hvdykubGVuZ3RoID4gMCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb25LZXlEb3duKGUpOiB2b2lke1xyXG4gICAgY29uc3QgY29kZSA9IGUua2V5Q29kZSB8fCBlLndoaWNoO1xyXG4gICAgaWYgKGNvZGUgPT09IDkpIHtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB0aGlzLmNJKGUuc2hpZnRLZXkgPyAnU2hpZnRUYWInIDogJ1RhYicpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoY29kZSA9PT0gMTMpe1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGlmICgkKHRoaXMuaW5wdXRCYXNlLm5hdGl2ZUVsZW1lbnQpLmlzKCc6Zm9jdXMnKSl7XHJcbiAgICAgICAgY29uc3QgaCA9IHRoaXMuZ2V0U2VsZWN0ZWRIb3ZlcigpO1xyXG4gICAgICAgIGlmICghaCl7XHJcbiAgICAgICAgICBpZiAodGhpcy5pbnAuYWRkTmV3KXtcclxuICAgICAgICAgICAgdGhpcy5jSSgnVGFiJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0T3B0aW9uKGgpO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmNJKCdUYWInKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoY29kZSA9PT0gNDApe1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuc2V0SG92ZXJEb3duKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChjb2RlID09PSAzOCl7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5zZXRIb3ZlclVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRvZ2dsZU9wdGlvbihlKTogdm9pZHtcclxuICAgIGlmICh0aGlzLmlucC5tdWx0aXBsZSAmJiAkKGUudGFyZ2V0KS5jbG9zZXN0KCcub3B0aW9uJykuaGFzQ2xhc3MoJ29wdGlvbicpKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vcGVuT3B0aW9ucygpO1xyXG4gIH1cclxuICBvbktleVVwKGUpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMuY1NlYXJjaCAhPT0gZS50YXJnZXQudmFsdWUpIHtcclxuICAgICAgdGhpcy5jU2VhcmNoID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICAgIGlmICh0aGlzLmlucC50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0KXtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pbnAudmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLnJlbW92ZUhvdmVyKCk7XHJcbiAgICAgIHRoaXMuc2V0SG92ZXJDZW50ZXIoKTtcclxuICAgICAgaWYgKHRoaXMuaW5wLm9uQ2hhbmdlKXtcclxuICAgICAgICB0aGlzLmlucC5vbkNoYW5nZSh0aGlzLmlucCwgZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmlucC50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0U2VhcmNoKXtcclxuICAgICAgICB0aGlzLnNldE9wdGlvbnMoKTtcclxuICAgICAgfWVsc2UgaWYgKGUudGFyZ2V0LnZhbHVlKXtcclxuICAgICAgICB0aGlzLmxvYWRPcHRpb25zKCk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMuaW5wLm9wdGlvbnMgPSBbXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBzZWxlY3RPcHRpb24odiwgaXNFZGl0ID0gZmFsc2UpOiB2b2lke1xyXG4gICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgY29uc3QgdmEgPSB0aGlzLmdldFZhbHVlKHYpO1xyXG4gICAgaWYgKHRoaXMuaW5wLm11bHRpcGxlKXtcclxuICAgICAgdGhpcy50b2dnbGUodmEpO1xyXG4gICAgICB0aGlzLmlucC5zZWFyY2ggPSAnJztcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmlucC52YWx1ZSA9IHY7XHJcbiAgICAgIHRoaXMuaW5wLnNlYXJjaCA9IHZhID8gKCgodGhpcy5pbnAudHlwZSAhPT0gSW5wdXRUeXBlLlNlbGVjdFNlYXJjaCAmJiB0aGlzLmlucC50eXBlICE9PSBJbnB1dFR5cGUuU2VsZWN0KSB8fCB2YS5zZWFyY2gpID8gdmEuc2VhcmNoIDogdmEubmFtZSkgOiAnJztcclxuICAgIH1cclxuICAgIHRoaXMuc2V0T3B0aW9ucygpO1xyXG4gICAgdGhpcy5jU2VhcmNoID0gdGhpcy5pbnAuc2VhcmNoO1xyXG4gICAgaWYgKHRoaXMuaW5wLnJlbCl7XHJcbiAgICAgIHRoaXMuaW5wLnJlbC52YWx1ZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuaW5wLnJlbC5zZWFyY2ggPSAnJztcclxuICAgICAgdGhpcy5pbnAucmVsLm9wdGlvbnMgPSBbXTtcclxuICAgICAgaWYgKHRoaXMuaW5wLnJlbC5yZWwpe1xyXG4gICAgICAgIHRoaXMuaW5wLnJlbC5yZWwudmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaW5wLnJlbC5yZWwuc2VhcmNoID0gJyc7XHJcbiAgICAgICAgdGhpcy5pbnAucmVsLnJlbC5vcHRpb25zID0gW107XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHYgIT09IG51bGwpe1xyXG4gICAgICAgIHRoaXMuaW5wLnJlbC51cmwgPSB0aGlzLmlucC5yZWxVcmwucmVwbGFjZSgne30nLCB0aGlzLmlucC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5wLnJlbC50eXBlICE9PSBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlKSB7XHJcbiAgICAgICAgICB0aGlzLmlucC5yZWwubG9hZCgpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5pbnAucmVsLnVybCArPSAnX3t9JztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlucC5vbkNoYW5nZSl7XHJcbiAgICAgIHRoaXMuaW5wLm9uQ2hhbmdlKHRoaXMuaW5wLCBpc0VkaXQpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFpc0VkaXQgJiYgIXRoaXMuaW5wLm11bHRpcGxlKXtcclxuICAgICAgdGhpcy5jSSgnVGFiJyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRvZ2dsZShvcDogT3B0aW9uQ2xhc3MpOiB2b2lkIHtcclxuICAgIGlmIChvcC5zZWxlY3RlZCl7XHJcbiAgICAgIHRoaXMuaW5wLnZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy51bkNoZWNrKG9wKTtcclxuICAgICAgaWYgKHRoaXMuaW5wLm9ubHlDaGlsZCl7XHJcbiAgICAgICAgdGhpcy51bkNoZWNrUGFyZW50KG9wLnBhcmVudCk7XHJcbiAgICAgIH1cclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmlucC52YWx1ZSA9IG9wLnZhbHVlO1xyXG4gICAgICB0aGlzLmNoZWNrKG9wKTtcclxuICAgICAgaWYgKHRoaXMuaW5wLm9ubHlDaGlsZCAmJiB0aGlzLmlucC50eXBlID09PSBJbnB1dFR5cGUuVHJlZSl7XHJcbiAgICAgICAgdGhpcy5jaGVja1BhcmVudChvcC5wYXJlbnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNoZWNrKGM6IE9wdGlvbkNsYXNzKTogdm9pZCB7XHJcbiAgICBjLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmlucC5vbmx5Q2hpbGQpIHtcclxuICAgICAgdGhpcy5jaGVja0NoaWxkcmVuKGMpO1xyXG4gICAgfVxyXG4gIH1cclxuICB1bkNoZWNrKGM6IE9wdGlvbkNsYXNzKTogdm9pZCB7XHJcbiAgICBjLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5pbnAub25seUNoaWxkKSB7XHJcbiAgICAgIGMub3B0aW9ucy5mb3JFYWNoKChjaCkgPT4ge1xyXG4gICAgICAgIHRoaXMudW5DaGVjayhjaCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjaGVja0NoaWxkcmVuKG86IE9wdGlvbkNsYXNzKTogdm9pZHtcclxuICAgIG8ub3B0aW9ucy5mb3JFYWNoKChjaCkgPT4ge1xyXG4gICAgICB0aGlzLmNoZWNrKGNoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBjaGVja1BhcmVudChwOiBPcHRpb25DbGFzcyk6IHZvaWR7XHJcbiAgICBpZiAocCl7XHJcbiAgICAgIGlmIChwLm9wdGlvbnMuZmlsdGVyKHggPT4gIXguc2VsZWN0ZWQpLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIHAuc2VsZWN0ZWQgPSBudWxsO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBwLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNoZWNrUGFyZW50KHAucGFyZW50KTtcclxuICAgIH1cclxuICB9XHJcbiAgdW5DaGVja1BhcmVudChwOiBPcHRpb25DbGFzcyk6IHZvaWR7XHJcbiAgICBpZiAocCl7XHJcbiAgICAgIGlmIChwLm9wdGlvbnMuZmlsdGVyKHggPT4geC5zZWxlY3RlZCB8fCB4LnNlbGVjdGVkID09IG51bGwpLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIHAuc2VsZWN0ZWQgPSBudWxsO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBwLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51bkNoZWNrUGFyZW50KHAucGFyZW50KTtcclxuICAgIH1cclxuICB9XHJcbiAgY0koaTogc3RyaW5nKTogdm9pZHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNoYW5nZUluZGV4LmVtaXQoaSk7XHJcbiAgICAgIGlmICghdGhpcy5pbkZvcm0pe1xyXG4gICAgICAgICQodGhpcy5pbnB1dEJhc2UubmF0aXZlRWxlbWVudCkuYmx1cigpO1xyXG4gICAgICB9XHJcbiAgICB9LCAxMCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZU9wdGlvbnMoKTtcclxuICAgIH0sIDIwKTtcclxuICB9XHJcbiAgdGl0bGUoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmlucC52YWx1ZSA9PSBudWxsKXtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5nZXRUaXRsZSh0aGlzLmlucCk7XHJcbiAgfVxyXG4gIGdldFRpdGxlKG9zKTogc3RyaW5ne1xyXG4gICAgZm9yIChjb25zdCBzIG9mIG9zLm9wdGlvbnMpe1xyXG4gICAgICBpZiAocy52YWx1ZSA9PT0gdGhpcy5pbnAudmFsdWUudG9TdHJpbmcoKSl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wLmwocy5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCB2ID0gdGhpcy5nZXRUaXRsZShzKTtcclxuICAgICAgaWYgKHYgIT0gbnVsbCl7XHJcbiAgICAgICAgcmV0dXJuIHY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBnZXRWYWx1ZSh2LCBvOiBPcHRpb25DbGFzc1tdID0gdGhpcy5pbnAub3B0aW9ucyk6IE9wdGlvbkNsYXNze1xyXG4gICAgY29uc3QgaCA9IG8uZmluZCh4ID0+IHgudmFsdWUgPT09IHYpO1xyXG4gICAgaWYgKGgpe1xyXG4gICAgICByZXR1cm4gaDtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3QgaSBvZiBvKXtcclxuICAgICAgY29uc3QgaGkgPSB0aGlzLmdldFZhbHVlKHYsIGkub3B0aW9ucyk7XHJcbiAgICAgIGlmIChoaSl7XHJcbiAgICAgICAgcmV0dXJuIGhpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uQ2xpY2tCdXR0b24oKTogdm9pZHtcclxuICAgIHRoaXMuaW5wLm9uQ2xpY2tCdXR0b24odGhpcy5pbnApO1xyXG4gIH1cclxuICBzZXRIb3ZlckNlbnRlcigpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBsZXQgb3B0aW9uID0gdGhpcy5pbnB1dE9wdGlvbnNEaXYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcub3B0aW9uLWNvbi5ob3ZlcicpO1xyXG4gICAgICBvcHRpb24gPSBvcHRpb24gIT09IG51bGwgPyBvcHRpb24gOiB0aGlzLmlucHV0T3B0aW9uc0Rpdi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vcHRpb24tY29uLnNlbGVjdGVkJyk7XHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pbnB1dE9wdGlvbnNEaXYubmF0aXZlRWxlbWVudDtcclxuICAgICAgaWYgKG9wdGlvbiA9PT0gbnVsbCl7XHJcbiAgICAgICAgaXRlbXMuc2Nyb2xsVG9wID0gMDtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaXRlbXMuc2Nyb2xsVG9wID0gb3B0aW9uLm9mZnNldFRvcCAtIG9wdGlvbi5jbGllbnRIZWlnaHQgKiAyO1xyXG4gICAgfSwgMSk7XHJcbiAgfVxyXG4gIHJlbW92ZUhvdmVyKCk6IHZvaWR7XHJcbiAgICBjb25zdCBvcHRpb24gPSB0aGlzLmlucHV0T3B0aW9uc0Rpdi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vcHRpb24tY29uLmhvdmVyJyk7XHJcbiAgICBpZiAob3B0aW9uICE9PSBudWxsKXtcclxuICAgICAgb3B0aW9uLmNsYXNzTGlzdC5yZW1vdmUoJ2hvdmVyJyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkSG92ZXIoKTogYW55e1xyXG4gICAgY29uc3Qgb3B0aW9uID0gdGhpcy5pbnB1dE9wdGlvbnNEaXYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcub3B0aW9uLWNvbi5ob3ZlcicpO1xyXG4gICAgaWYgKG9wdGlvbiA9PT0gbnVsbCl7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9wdGlvbi5nZXRBdHRyaWJ1dGUoJ2RhdGEtdmFsdWUnKTtcclxuICB9XHJcbiAgc2V0SG92ZXJVcCgpOiB2b2lke1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuaW5wdXRPcHRpb25zRGl2Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBsZXQgaCA9IFtdLmluZGV4T2YuY2FsbChvcHRpb25zLnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24tY29uJyksIG9wdGlvbnMucXVlcnlTZWxlY3RvcignLm9wdGlvbi1jb24uaG92ZXInKSk7XHJcbiAgICBjb25zdCBzID0gW10uaW5kZXhPZi5jYWxsKG9wdGlvbnMucXVlcnlTZWxlY3RvckFsbCgnLm9wdGlvbi1jb24nKSwgb3B0aW9ucy5xdWVyeVNlbGVjdG9yKCcub3B0aW9uLWNvbi5zZWxlY3RlZCcpKTtcclxuICAgIGggPSBoID49IDAgPyBoIDogcztcclxuICAgIGlmIChoID4gMCkge1xyXG4gICAgICB0aGlzLnJlbW92ZUhvdmVyKCk7XHJcbiAgICAgIG9wdGlvbnMucXVlcnlTZWxlY3RvckFsbCgnLm9wdGlvbi1jb24nKVtoIC0gMV0uY2xhc3NMaXN0LmFkZCgnaG92ZXInKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0SG92ZXJDZW50ZXIoKTtcclxuICB9XHJcbiAgc2V0SG92ZXJEb3duKCk6IHZvaWR7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5pbnB1dE9wdGlvbnNEaXYubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGNvdW50T3B0aW9ucyA9IG9wdGlvbnMucXVlcnlTZWxlY3RvckFsbCgnLm9wdGlvbi1jb24nKS5sZW5ndGg7XHJcbiAgICBsZXQgaCA9IFtdLmluZGV4T2YuY2FsbChvcHRpb25zLnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24tY29uJyksIG9wdGlvbnMucXVlcnlTZWxlY3RvcignLm9wdGlvbi1jb24uaG92ZXInKSk7XHJcbiAgICBjb25zdCBzID0gW10uaW5kZXhPZi5jYWxsKG9wdGlvbnMucXVlcnlTZWxlY3RvckFsbCgnLm9wdGlvbi1jb24nKSwgb3B0aW9ucy5xdWVyeVNlbGVjdG9yKCcub3B0aW9uLWNvbi5zZWxlY3RlZCcpKTtcclxuICAgIGggPSBoID49IDAgPyBoIDogcztcclxuICAgIGlmIChoID09PSAtMSAmJiBjb3VudE9wdGlvbnMgPiAwKXtcclxuICAgICAgb3B0aW9ucy5xdWVyeVNlbGVjdG9yKCcub3B0aW9uLWNvbicpLmNsYXNzTGlzdC5hZGQoJ2hvdmVyJyk7XHJcbiAgICB9IGVsc2UgaWYgKGggPj0gMCAmJiBoIDwgY291bnRPcHRpb25zIC0gMSkge1xyXG4gICAgICB0aGlzLnJlbW92ZUhvdmVyKCk7XHJcbiAgICAgIG9wdGlvbnMucXVlcnlTZWxlY3RvckFsbCgnLm9wdGlvbi1jb24nKVtoICsgMV0uY2xhc3NMaXN0LmFkZCgnaG92ZXInKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0SG92ZXJDZW50ZXIoKTtcclxuICB9XHJcbiAgZ2V0UGxhY2VIb2xkZXIoKTogc3RyaW5ne1xyXG4gICAgaWYgKHRoaXMuaW5wLm11bHRpcGxlKXtcclxuICAgICAgY29uc3QgcyA9IHRoaXMuaW5wLmdldFNlbGVjdGVkT3B0aW9ucygpO1xyXG4gICAgICBpZiAocy5sZW5ndGggPiAwKXtcclxuICAgICAgICByZXR1cm4gcy5tYXAoeCA9PiB0aGlzLmlucC5sKHgubmFtZSkpLmpvaW4oJywgJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmlucC5wbGFjZWhvbGRlciA/IHRoaXMuaW5wLmwodGhpcy5pbnAucGxhY2Vob2xkZXIpIDogJyc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
433
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L2Zvcm0uc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUMsVUFBVSxFQUFjLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFPMUQsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU9FLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUt6QyxZQUFPLEdBQUcsRUFBRSxDQUFDO0lBNFlmLENBQUM7SUExWUMsSUFBSSxJQUFJLEtBQXVCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQztJQUtsRCxRQUFROztRQUNOLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLGtCQUFrQixFQUFDO1lBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakI7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUM7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENB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b25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7SW5wdXRDbGFzcywgT3B0aW9uQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRFcnJvciwgSW5wdXRUeXBlfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1mb3JtLXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtLnNlbGVjdC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1TZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgQE91dHB1dCgpXHJcbiAgY2hhbmdlSW5kZXggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBASW5wdXQoKVxyXG4gIGlucDogSW5wdXRDbGFzcztcclxuICBASW5wdXQoKVxyXG4gIGluRm9ybTogYm9vbGVhbjtcclxuICBjU2VhcmNoID0gJyc7XHJcbiAgYWRkSWNvbjogSW5wdXRDbGFzcztcclxuICBnZXQgdHlwZSgpOiB0eXBlb2YgSW5wdXRUeXBlIHsgcmV0dXJuIElucHV0VHlwZTsgfVxyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RGl2JykgaW5wdXREaXY6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRCYXNlJykgaW5wdXRCYXNlOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0T3B0aW9uc0RpdicpIGlucHV0T3B0aW9uc0RpdjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dExhYmVsJykgaW5wdXRMYWJlbDogRWxlbWVudFJlZjtcclxuICBuZ09uSW5pdCgpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMuaW5wLnR5cGUgIT09IElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGUpe1xyXG4gICAgICB0aGlzLmlucC5sb2FkKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucC5zZXRWYWx1ZSA9ICh2LCBpc0VkaXQpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmlucC5tdWx0aXBsZSl7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RPcHRpb24odiA9PSBudWxsID8gbnVsbCA6IHYudG9TdHJpbmcoKSwgaXNFZGl0KTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgaWYgKHYgIT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLnNldFZhbHVlKHYubWFwKFN0cmluZykpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLmlucC5kZWZhdWx0ICE9IG51bGwpe1xyXG4gICAgICB0aGlzLmlucC5zZXRWYWx1ZSh0aGlzLmlucC5kZWZhdWx0LCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucC5zZXRTZWFyY2ggPSAocykgPT4ge1xyXG4gICAgICB0aGlzLmlucC5zZWFyY2ggPSBzO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmZvY3VzID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLm9wZW5PcHRpb25zKCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuaXNWYWxpZCA9ICgpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgKCghdGhpcy5pbnAubXVsdGlwbGUgJiYgKCh0aGlzLmlucC5hZGROZXcgJiYgIXRoaXMuaW5wLnNlYXJjaCkgfHwgKCF0aGlzLmlucC5hZGROZXcgJiYgIXRoaXMuaW5wLnZhbHVlKSkpIHx8XHJcbiAgICAgICAgKHRoaXMuaW5wLm11bHRpcGxlICYmIHRoaXMuaW5wLmdldFNlbGVjdGVkKCkubGVuZ3RoID09PSAwKSkpIHtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuUmVxdWlyZWQ7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmlucC5hZGROZXcgJiYgdGhpcy5pbnAudmFsdWUgPT0gbnVsbCAmJiB0aGlzLmlucC5zZWFyY2ggIT0gbnVsbCAmJiAhKEhlbHBlckNsYXNzLm5hdGlvbmFsQ29kZVZhbGlkKHRoaXMuaW5wLnNlYXJjaCkgfHwgSGVscGVyQ2xhc3MubmF0aW9uYWxOdW1WYWxpZCh0aGlzLmlucC5zZWFyY2gpKSAmJlxyXG4gICAgICAgIC9eXFxkKyQvLnRlc3QodGhpcy5pbnAuc2VhcmNoLnJlcGxhY2UoLy0vZywgJycpLnJlcGxhY2UoL1xcLi9nLCAnJykpKXtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuSW52YWxpZDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuY2xlYXIgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgaWYgKCF0aGlzLmlucC5tdWx0aXBsZSl7XHJcbiAgICAgICAgdGhpcy5pbnAuc2V0VmFsdWUodGhpcy5pbnAuZGVmYXVsdCwgdHJ1ZSk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWUoW10pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmlucC5yZWwgIT0gbnVsbCl7XHJcbiAgICAgICAgdGhpcy5pbnAucmVsLm9wdGlvbnMgPSBbXTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnAudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZSl7XHJcbiAgICAgICAgdGhpcy5pbnAub3B0aW9ucyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuZGF0YSA9ICgpID0+IHtcclxuICAgICAgY29uc3QgZCA9IHt9O1xyXG4gICAgICBpZiAodGhpcy5pbnAubXVsdGlwbGUpe1xyXG4gICAgICAgIGRbdGhpcy5pbnAubmFtZV0gPSB0aGlzLmlucC5nZXRTZWxlY3RlZCgpO1xyXG4gICAgICAgIGRbdGhpcy5pbnAubmFtZSArICdOYW1lJ10gPSB0aGlzLmlucC5nZXRTZWxlY3RlZE5hbWUoKTtcclxuICAgICAgICByZXR1cm4gZDtcclxuICAgICAgfVxyXG4gICAgICBkW3RoaXMuaW5wLm5hbWVdID0gdGhpcy5pbnAuYWRkTmV3ID8gdGhpcy5pbnAuc2VhcmNoIDogdGhpcy5pbnAudmFsdWU7XHJcbiAgICAgIGRbdGhpcy5pbnAubmFtZSArICdOYW1lJ10gPSB0aGlzLmlucC5zZWFyY2g7XHJcbiAgICAgIHJldHVybiBkO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmZvY3VzT3V0ID0gKCkgPT4ge1xyXG4gICAgICAkKHRoaXMuaW5wdXRCYXNlLm5hdGl2ZUVsZW1lbnQpLmJsdXIoKTtcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5pbnAuaGFzQmFyY29kZVJlYWRlcil7XHJcbiAgICAgIEhlbHBlckNsYXNzLnNldEJhcmNvZGVSZWFkZXIodGhpcy5pbnApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaW5wLmFkZE1vZGFsKXtcclxuICAgICAgaWYgKHRoaXMuaW5wLmFkZE1vZGFsLmZvcm0/LnBlcm1pc3Npb24pe1xyXG4gICAgICAgIHRoaXMuYWRkSWNvbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCAnQWRkJyArIHRoaXMuaW5wLm5hbWUsICdmYWQgZmEtcGx1cycsIElucHV0VHlwZS5JY29uLCAnYmx1ZSBtLXItMTUtcCcgKyAodGhpcy5pbnAuZGlzcGxheUxhYmVsID8gJyBtLXQtMjMnIDogJycpKTtcclxuICAgICAgICB0aGlzLmFkZEljb24ub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaW5wLmFkZE1vZGFsLnNob3coKTtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldFZhbHVlKGlkcywgcm93cyA9IHRoaXMuaW5wLm9wdGlvbnMpOiBib29sZWFue1xyXG4gICAgZm9yIChjb25zdCByIG9mIHJvd3Mpe1xyXG4gICAgICByLnNlbGVjdGVkID0gaWRzLmluY2x1ZGVzKHIudmFsdWUpO1xyXG4gICAgICBpZiAodGhpcy5pbnAub25seUNoaWxkKXtcclxuICAgICAgICBpZiAoci5zZWxlY3RlZCl7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrUGFyZW50KHIucGFyZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZXRWYWx1ZShpZHMsIHIub3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgbG9hZE9wdGlvbnMoKTogdm9pZHtcclxuICAgIGNvbnN0IHYgPSB0aGlzLmlucC5zZWFyY2gucmVwbGFjZSgvXl8rfF8rJC9nLCAnJykucmVwbGFjZSgvXFwuL2csICdfX2RvdF9fJyk7XHJcbiAgICBpZiAodil7XHJcbiAgICAgIHRoaXMuaW5wLmxvYWQodGhpcy5pbnAudXJsLnJlcGxhY2UoJ3t9JywgdikpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuaW5wLm9wdGlvbnMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcbiAgb3Blbk9wdGlvbnMoKTogdm9pZHtcclxuICAgIHRoaXMuc2V0UG9zaXRpb24oKTtcclxuICAgIHRoaXMuc2V0SG92ZXJDZW50ZXIoKTtcclxuICAgICQodGhpcy5pbnB1dEJhc2UubmF0aXZlRWxlbWVudCkuZm9jdXMoKTtcclxuICB9XHJcbiAgb25Gb2N1c091dCgpOiB2b2lke1xyXG4gICAgdGhpcy5jbG9zZU9wdGlvbnMoKTtcclxuICB9XHJcbiAgY2xvc2VPcHRpb25zKCk6IGJvb2xlYW57XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgJCh0aGlzLmlucHV0RGl2Lm5hdGl2ZUVsZW1lbnQpLnJlbW92ZUNsYXNzKCd0b3AnKTtcclxuICAgICAgdGhpcy5yZW1vdmVIb3ZlcigpO1xyXG4gICAgICBpZiAodGhpcy5pbnAudmFsdWUgPT09IG51bGwpe1xyXG4gICAgICAgIGlmICghdGhpcy5pbnAuYWRkTmV3KXtcclxuICAgICAgICAgIHRoaXMuaW5wLnNlYXJjaCA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5pbnAudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZSl7XHJcbiAgICAgICAgICB0aGlzLmlucC5vcHRpb25zID0gW107XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLnNldE9wdGlvbnMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDEpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIHNldFBvc2l0aW9uKCk6IHZvaWR7XHJcbiAgICBjb25zdCByZWN0ID0gdGhpcy5pbnB1dERpdi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3Qgb2Zmc2V0T2ZCb3R0b20gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSByZWN0LmJvdHRvbTtcclxuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMuaW5wdXRPcHRpb25zRGl2Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgaWYgKG9mZnNldE9mQm90dG9tIDwgaGVpZ2h0KXtcclxuICAgICAgJCh0aGlzLmlucHV0RGl2Lm5hdGl2ZUVsZW1lbnQpLmFkZENsYXNzKCd0b3AnKTtcclxuICAgIH1lbHNle1xyXG4gICAgICAkKHRoaXMuaW5wdXREaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3RvcCcpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZXRPcHRpb25zKHIgPSB0aGlzLmlucC5vcHRpb25zKTogdm9pZHtcclxuICAgIHIubWFwKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0T3B0aW9ucyh4Lm9wdGlvbnMpO1xyXG4gICAgICB4LnNob3cgPSAodGhpcy5pbnAudmFsdWUgIT09IG51bGwgfHwgdGhpcy5pbnAuc2VhcmNoID09PSAnJyB8fCB4Lm5hbWUuaW5jbHVkZXModGhpcy5pbnAuc2VhcmNoKSB8fFxyXG4gICAgICAgICAgeC52YWx1ZS5pbmNsdWRlcyh0aGlzLmlucC5zZWFyY2gpIHx8IHgub3B0aW9ucy5maWx0ZXIobyA9PiBvLnNob3cpLmxlbmd0aCA+IDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9uS2V5RG93bihlKTogdm9pZHtcclxuICAgIGNvbnN0IGNvZGUgPSBlLmtleUNvZGUgfHwgZS53aGljaDtcclxuICAgIGlmIChjb2RlID09PSA5KSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5jSShlLnNoaWZ0S2V5ID8gJ1NoaWZ0VGFiJyA6ICdUYWInKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGNvZGUgPT09IDEzKXtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBpZiAoJCh0aGlzLmlucHV0QmFzZS5uYXRpdmVFbGVtZW50KS5pcygnOmZvY3VzJykpe1xyXG4gICAgICAgIGNvbnN0IGggPSB0aGlzLmdldFNlbGVjdGVkSG92ZXIoKTtcclxuICAgICAgICBpZiAoIWgpe1xyXG4gICAgICAgICAgaWYgKHRoaXMuaW5wLmFkZE5ldyl7XHJcbiAgICAgICAgICAgIHRoaXMuY0koJ1RhYicpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdE9wdGlvbihoKTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5jSSgnVGFiJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGNvZGUgPT09IDQwKXtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB0aGlzLnNldEhvdmVyRG93bigpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoY29kZSA9PT0gMzgpe1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuc2V0SG92ZXJVcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICB0b2dnbGVPcHRpb24oZSk6IHZvaWR7XHJcbiAgICBpZiAodGhpcy5pbnAubXVsdGlwbGUgJiYgJChlLnRhcmdldCkuY2xvc2VzdCgnLm9wdGlvbicpLmhhc0NsYXNzKCdvcHRpb24nKSl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMub3Blbk9wdGlvbnMoKTtcclxuICB9XHJcbiAgb25LZXlVcChlKTogdm9pZHtcclxuICAgIGlmICh0aGlzLmNTZWFyY2ggIT09IGUudGFyZ2V0LnZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY1NlYXJjaCA9IGUudGFyZ2V0LnZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5pbnAudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdCl7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5wLnZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy5yZW1vdmVIb3ZlcigpO1xyXG4gICAgICB0aGlzLnNldEhvdmVyQ2VudGVyKCk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbkNoYW5nZSl7XHJcbiAgICAgICAgdGhpcy5pbnAub25DaGFuZ2UodGhpcy5pbnAsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnAudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdFNlYXJjaCl7XHJcbiAgICAgICAgdGhpcy5zZXRPcHRpb25zKCk7XHJcbiAgICAgIH1lbHNlIGlmIChlLnRhcmdldC52YWx1ZSl7XHJcbiAgICAgICAgdGhpcy5sb2FkT3B0aW9ucygpO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmlucC5vcHRpb25zID0gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgc2VsZWN0T3B0aW9uKHYsIGlzRWRpdCA9IGZhbHNlKTogdm9pZHtcclxuICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgIGNvbnN0IHZhID0gdGhpcy5nZXRWYWx1ZSh2KTtcclxuICAgIGlmICh0aGlzLmlucC5tdWx0aXBsZSl7XHJcbiAgICAgIHRoaXMudG9nZ2xlKHZhKTtcclxuICAgICAgdGhpcy5pbnAuc2VhcmNoID0gJyc7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5pbnAudmFsdWUgPSB2O1xyXG4gICAgICB0aGlzLmlucC5zZWFyY2ggPSB2YSA/ICgoKHRoaXMuaW5wLnR5cGUgIT09IElucHV0VHlwZS5TZWxlY3RTZWFyY2ggJiYgdGhpcy5pbnAudHlwZSAhPT0gSW5wdXRUeXBlLlNlbGVjdCkgfHwgdmEuc2VhcmNoKSA/IHZhLnNlYXJjaCA6IHZhLm5hbWUpIDogJyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldE9wdGlvbnMoKTtcclxuICAgIHRoaXMuY1NlYXJjaCA9IHRoaXMuaW5wLnNlYXJjaDtcclxuICAgIGlmICh0aGlzLmlucC5yZWwpe1xyXG4gICAgICB0aGlzLmlucC5yZWwudmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLmlucC5yZWwuc2VhcmNoID0gJyc7XHJcbiAgICAgIHRoaXMuaW5wLnJlbC5vcHRpb25zID0gW107XHJcbiAgICAgIGlmICh0aGlzLmlucC5yZWwucmVsKXtcclxuICAgICAgICB0aGlzLmlucC5yZWwucmVsLnZhbHVlID0gbnVsbDtcclxuICAgICAgICB0aGlzLmlucC5yZWwucmVsLnNlYXJjaCA9ICcnO1xyXG4gICAgICAgIHRoaXMuaW5wLnJlbC5yZWwub3B0aW9ucyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2ICE9PSBudWxsKXtcclxuICAgICAgICB0aGlzLmlucC5yZWwudXJsID0gdGhpcy5pbnAucmVsVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5pbnAudmFsdWUpO1xyXG4gICAgICAgIGlmICh0aGlzLmlucC5yZWwudHlwZSAhPT0gSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZSkge1xyXG4gICAgICAgICAgdGhpcy5pbnAucmVsLmxvYWQoKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuaW5wLnJlbC51cmwgKz0gJ197fSc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pbnAub25DaGFuZ2Upe1xyXG4gICAgICB0aGlzLmlucC5vbkNoYW5nZSh0aGlzLmlucCwgaXNFZGl0KTtcclxuICAgIH1cclxuICAgIGlmICghaXNFZGl0ICYmICF0aGlzLmlucC5tdWx0aXBsZSl7XHJcbiAgICAgIHRoaXMuY0koJ1RhYicpO1xyXG4gICAgfVxyXG4gIH1cclxuICB0b2dnbGUob3A6IE9wdGlvbkNsYXNzKTogdm9pZCB7XHJcbiAgICBpZiAob3Auc2VsZWN0ZWQpe1xyXG4gICAgICB0aGlzLmlucC52YWx1ZSA9IG51bGw7XHJcbiAgICAgIHRoaXMudW5DaGVjayhvcCk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbmx5Q2hpbGQpe1xyXG4gICAgICAgIHRoaXMudW5DaGVja1BhcmVudChvcC5wYXJlbnQpO1xyXG4gICAgICB9XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5pbnAudmFsdWUgPSBvcC52YWx1ZTtcclxuICAgICAgdGhpcy5jaGVjayhvcCk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbmx5Q2hpbGQgJiYgdGhpcy5pbnAudHlwZSA9PT0gSW5wdXRUeXBlLlRyZWUpe1xyXG4gICAgICAgIHRoaXMuY2hlY2tQYXJlbnQob3AucGFyZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjaGVjayhjOiBPcHRpb25DbGFzcyk6IHZvaWQge1xyXG4gICAgYy5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5pbnAub25seUNoaWxkKSB7XHJcbiAgICAgIHRoaXMuY2hlY2tDaGlsZHJlbihjKTtcclxuICAgIH1cclxuICB9XHJcbiAgdW5DaGVjayhjOiBPcHRpb25DbGFzcyk6IHZvaWQge1xyXG4gICAgYy5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuaW5wLm9ubHlDaGlsZCkge1xyXG4gICAgICBjLm9wdGlvbnMuZm9yRWFjaCgoY2gpID0+IHtcclxuICAgICAgICB0aGlzLnVuQ2hlY2soY2gpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgY2hlY2tDaGlsZHJlbihvOiBPcHRpb25DbGFzcyk6IHZvaWR7XHJcbiAgICBvLm9wdGlvbnMuZm9yRWFjaCgoY2gpID0+IHtcclxuICAgICAgdGhpcy5jaGVjayhjaCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgY2hlY2tQYXJlbnQocDogT3B0aW9uQ2xhc3MpOiB2b2lke1xyXG4gICAgaWYgKHApe1xyXG4gICAgICBpZiAocC5vcHRpb25zLmZpbHRlcih4ID0+ICF4LnNlbGVjdGVkKS5sZW5ndGggPiAwKXtcclxuICAgICAgICBwLnNlbGVjdGVkID0gbnVsbDtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcC5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jaGVja1BhcmVudChwLnBhcmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVuQ2hlY2tQYXJlbnQocDogT3B0aW9uQ2xhc3MpOiB2b2lke1xyXG4gICAgaWYgKHApe1xyXG4gICAgICBpZiAocC5vcHRpb25zLmZpbHRlcih4ID0+IHguc2VsZWN0ZWQgfHwgeC5zZWxlY3RlZCA9PSBudWxsKS5sZW5ndGggPiAwKXtcclxuICAgICAgICBwLnNlbGVjdGVkID0gbnVsbDtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudW5DaGVja1BhcmVudChwLnBhcmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNJKGk6IHN0cmluZyk6IHZvaWR7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KGkpO1xyXG4gICAgICBpZiAoIXRoaXMuaW5Gb3JtKXtcclxuICAgICAgICAkKHRoaXMuaW5wdXRCYXNlLm5hdGl2ZUVsZW1lbnQpLmJsdXIoKTtcclxuICAgICAgfVxyXG4gICAgfSwgMTApO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2VPcHRpb25zKCk7XHJcbiAgICB9LCAyMCk7XHJcbiAgfVxyXG4gIHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5pbnAudmFsdWUgPT0gbnVsbCl7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VGl0bGUodGhpcy5pbnApO1xyXG4gIH1cclxuICBnZXRUaXRsZShvcyk6IHN0cmluZ3tcclxuICAgIGZvciAoY29uc3QgcyBvZiBvcy5vcHRpb25zKXtcclxuICAgICAgaWYgKHMudmFsdWUgPT09IHRoaXMuaW5wLnZhbHVlLnRvU3RyaW5nKCkpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlucC5sKHMubmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgdiA9IHRoaXMuZ2V0VGl0bGUocyk7XHJcbiAgICAgIGlmICh2ICE9IG51bGwpe1xyXG4gICAgICAgIHJldHVybiB2O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgZ2V0VmFsdWUodiwgbzogT3B0aW9uQ2xhc3NbXSA9IHRoaXMuaW5wLm9wdGlvbnMpOiBPcHRpb25DbGFzc3tcclxuICAgIGNvbnN0IGggPSBvLmZpbmQoeCA9PiB4LnZhbHVlID09PSB2KTtcclxuICAgIGlmIChoKXtcclxuICAgICAgcmV0dXJuIGg7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGkgb2Ygbyl7XHJcbiAgICAgIGNvbnN0IGhpID0gdGhpcy5nZXRWYWx1ZSh2LCBpLm9wdGlvbnMpO1xyXG4gICAgICBpZiAoaGkpe1xyXG4gICAgICAgIHJldHVybiBoaTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvbkNsaWNrQnV0dG9uKCk6IHZvaWR7XHJcbiAgICB0aGlzLmlucC5vbkNsaWNrQnV0dG9uKHRoaXMuaW5wKTtcclxuICB9XHJcbiAgc2V0SG92ZXJDZW50ZXIoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgbGV0IG9wdGlvbiA9IHRoaXMuaW5wdXRPcHRpb25zRGl2Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLm9wdGlvbi1jb24uaG92ZXInKTtcclxuICAgICAgb3B0aW9uID0gb3B0aW9uICE9PSBudWxsID8gb3B0aW9uIDogdGhpcy5pbnB1dE9wdGlvbnNEaXYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcub3B0aW9uLWNvbi5zZWxlY3RlZCcpO1xyXG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaW5wdXRPcHRpb25zRGl2Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIGlmIChvcHRpb24gPT09IG51bGwpe1xyXG4gICAgICAgIGl0ZW1zLnNjcm9sbFRvcCA9IDA7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGl0ZW1zLnNjcm9sbFRvcCA9IG9wdGlvbi5vZmZzZXRUb3AgLSBvcHRpb24uY2xpZW50SGVpZ2h0ICogMjtcclxuICAgIH0sIDEpO1xyXG4gIH1cclxuICByZW1vdmVIb3ZlcigpOiB2b2lke1xyXG4gICAgY29uc3Qgb3B0aW9uID0gdGhpcy5pbnB1dE9wdGlvbnNEaXYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcub3B0aW9uLWNvbi5ob3ZlcicpO1xyXG4gICAgaWYgKG9wdGlvbiAhPT0gbnVsbCl7XHJcbiAgICAgIG9wdGlvbi5jbGFzc0xpc3QucmVtb3ZlKCdob3ZlcicpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRTZWxlY3RlZEhvdmVyKCk6IGFueXtcclxuICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuaW5wdXRPcHRpb25zRGl2Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLm9wdGlvbi1jb24uaG92ZXInKTtcclxuICAgIGlmIChvcHRpb24gPT09IG51bGwpe1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiBvcHRpb24uZ2V0QXR0cmlidXRlKCdkYXRhLXZhbHVlJyk7XHJcbiAgfVxyXG4gIHNldEhvdmVyVXAoKTogdm9pZHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmlucHV0T3B0aW9uc0Rpdi5uYXRpdmVFbGVtZW50O1xyXG4gICAgbGV0IGggPSBbXS5pbmRleE9mLmNhbGwob3B0aW9ucy5xdWVyeVNlbGVjdG9yQWxsKCcub3B0aW9uLWNvbicpLCBvcHRpb25zLnF1ZXJ5U2VsZWN0b3IoJy5vcHRpb24tY29uLmhvdmVyJykpO1xyXG4gICAgY29uc3QgcyA9IFtdLmluZGV4T2YuY2FsbChvcHRpb25zLnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24tY29uJyksIG9wdGlvbnMucXVlcnlTZWxlY3RvcignLm9wdGlvbi1jb24uc2VsZWN0ZWQnKSk7XHJcbiAgICBoID0gaCA+PSAwID8gaCA6IHM7XHJcbiAgICBpZiAoaCA+IDApIHtcclxuICAgICAgdGhpcy5yZW1vdmVIb3ZlcigpO1xyXG4gICAgICBvcHRpb25zLnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24tY29uJylbaCAtIDFdLmNsYXNzTGlzdC5hZGQoJ2hvdmVyJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEhvdmVyQ2VudGVyKCk7XHJcbiAgfVxyXG4gIHNldEhvdmVyRG93bigpOiB2b2lke1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuaW5wdXRPcHRpb25zRGl2Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCBjb3VudE9wdGlvbnMgPSBvcHRpb25zLnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24tY29uJykubGVuZ3RoO1xyXG4gICAgbGV0IGggPSBbXS5pbmRleE9mLmNhbGwob3B0aW9ucy5xdWVyeVNlbGVjdG9yQWxsKCcub3B0aW9uLWNvbicpLCBvcHRpb25zLnF1ZXJ5U2VsZWN0b3IoJy5vcHRpb24tY29uLmhvdmVyJykpO1xyXG4gICAgY29uc3QgcyA9IFtdLmluZGV4T2YuY2FsbChvcHRpb25zLnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24tY29uJyksIG9wdGlvbnMucXVlcnlTZWxlY3RvcignLm9wdGlvbi1jb24uc2VsZWN0ZWQnKSk7XHJcbiAgICBoID0gaCA+PSAwID8gaCA6IHM7XHJcbiAgICBpZiAoaCA9PT0gLTEgJiYgY291bnRPcHRpb25zID4gMCl7XHJcbiAgICAgIG9wdGlvbnMucXVlcnlTZWxlY3RvcignLm9wdGlvbi1jb24nKS5jbGFzc0xpc3QuYWRkKCdob3ZlcicpO1xyXG4gICAgfSBlbHNlIGlmIChoID49IDAgJiYgaCA8IGNvdW50T3B0aW9ucyAtIDEpIHtcclxuICAgICAgdGhpcy5yZW1vdmVIb3ZlcigpO1xyXG4gICAgICBvcHRpb25zLnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24tY29uJylbaCArIDFdLmNsYXNzTGlzdC5hZGQoJ2hvdmVyJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEhvdmVyQ2VudGVyKCk7XHJcbiAgfVxyXG4gIGdldFBsYWNlSG9sZGVyKCk6IHN0cmluZ3tcclxuICAgIGlmICh0aGlzLmlucC5tdWx0aXBsZSl7XHJcbiAgICAgIGNvbnN0IHMgPSB0aGlzLmlucC5nZXRTZWxlY3RlZE9wdGlvbnMoKTtcclxuICAgICAgaWYgKHMubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgcmV0dXJuIHMubWFwKHggPT4gdGhpcy5pbnAubCh4Lm5hbWUpKS5qb2luKCcsICcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5pbnAucGxhY2Vob2xkZXIgPyB0aGlzLmlucC5sKHRoaXMuaW5wLnBsYWNlaG9sZGVyKSA6ICcnO1xyXG4gIH1cclxufVxyXG4iXX0=
|