atr-components 2.0.13 → 2.0.14
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.
|
@@ -252,4 +252,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
|
|
|
252
252
|
}], needImgSeq: [{
|
|
253
253
|
type: Input
|
|
254
254
|
}] } });
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvcXVpbGwtZWRpdG9yL3F1aWxsLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3F1aWxsLWVkaXRvci9xdWlsbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDeEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOzs7Ozs7Ozs7O0FBRTFCLDhDQUE4QztBQUM5QywwQ0FBMEM7QUFDMUMsK0VBQStFO0FBQy9FLHFGQUFxRjtBQUNyRixXQUFXO0FBQ1gsMENBQTBDO0FBQzFDLG1GQUFtRjtBQUNuRixxRkFBcUY7QUFDckYsV0FBVztBQWVYLE1BQU0sT0FBTyxvQkFBb0I7SUFjL0IsWUFBb0IsZ0JBQWtDLEVBQVUsT0FBeUI7UUFBckUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBWmhGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLFdBQU0sR0FBUSxFQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUMsQ0FBQztRQUVoQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFJckMsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUNoQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBR2IsTUFBTSxLQUFLLEdBQVMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUc7OztXQUdULENBQUM7UUFDUixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUc7OztXQUdULENBQUM7SUFDVixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FDbEIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFxQixFQUFFLEVBQUU7WUFDcEMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssVUFBVSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDcEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO2dCQUNoRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQjthQUM5QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFxQjtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO0lBRXJDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0MsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxLQUFVLEVBQUUsUUFBYSxFQUFFLE1BQVc7WUFDdEUsSUFBSSxNQUFNLElBQUksS0FBSyxFQUFFO2FBQ3BCO2lCQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRTtnQkFDM0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBUSxFQUFFLE1BQVc7UUFDbkMsTUFBTSxDQUFDLEdBQVEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDYixJQUFJLElBQUksR0FBUSxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ25CLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDM0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sRUFBRTtnQkFDdkMsT0FBTztvQkFDTCxLQUFLLEVBQUUsQ0FBQztvQkFDUixJQUFJLEVBQUUsSUFBSTtvQkFDVixNQUFNLEVBQUUsTUFBTTtpQkFDZixDQUFBO2FBQ0Y7U0FDRjtRQUNELE9BQU87SUFDVCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVUsRUFBRSxLQUFVO1FBQy9CLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEMsSUFBSSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ3pDLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNyRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTthQUNqQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLEdBQUcsR0FBUSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN0QixHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUMzQixHQUFHLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDckMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUNoQixHQUFHLENBQUMsTUFBTSxHQUFHO29CQUNYLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztvQkFDcEIsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO29CQUN0QixHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNoRCxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7b0JBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO2dCQUNsQyxDQUFDLENBQUE7YUFDRjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTtTQUNqQztJQUVILENBQUM7SUFDRCxTQUFTLENBQUMsS0FBUztRQUNqQixJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQy9CLE9BQU07U0FDUDtRQUVELEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsR0FBRSxLQUFLLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQ2hDLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUN0RCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBTyxFQUFFLEtBQVMsRUFBRSxFQUFFO29CQUNqSCxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUE7Z0JBQ3hCLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQTtTQUNIO0lBQ0gsQ0FBQztJQUNELGFBQWEsQ0FBQyxLQUFTLEVBQUUsS0FBUztRQUNoQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksRUFBRSxLQUFLLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7WUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEMsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEQsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsNkNBQTZDLENBQUMsQ0FBQztRQUNqRixVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2FBQ3BCO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4QixJQUFJLEtBQUssR0FBUSxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2xDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtnQkFDdkMsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO29CQUNqQixTQUFTO2lCQUNWO2dCQUdELE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBUSxFQUFFLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMvQixDQUFDLENBQUM7Z0JBRUYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDdEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDbEIsSUFBSSxHQUFHLEVBQUU7d0JBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFOzRCQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3lCQUM3RTtxQkFDRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDOUI7b0JBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7d0JBQzFELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO3dCQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUN6RCxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO3FCQUN4QztnQkFDSCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDWDtRQUVILENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3RjtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBVTtRQUNoQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVTtRQUNsQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELEVBQUU7UUFDQSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3JCLENBQUM7OEdBN05VLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHFLQVRwQjtZQUNULGdCQUFnQjtZQUNoQjtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDOUJILGl2REFtQ0E7OzJGREhhLG9CQUFvQjtrQkFiaEMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakI7d0JBQ1QsZ0JBQWdCO3dCQUNoQjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0hBSVEsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge056TWVzc2FnZVNlcnZpY2V9IGZyb20gJ25nLXpvcnJvLWFudGQvbWVzc2FnZSc7XHJcbmltcG9ydCB7VXBsb2FkT3NzU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2VydmljZXMvdXBsb2FkLW9zcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VG9vbHNVdGlsfSBmcm9tIFwiLi4vLi4vLi4vY29yZS91dGlscy9Ub29sc1V0aWxcIjtcclxuaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcclxuXHJcbi8vIGNvbnN0IGljb25zOmFueSA9IFF1aWxsLmltcG9ydCgndWkvaWNvbnMnKTtcclxuLy8gaWNvbnMudW5kbyA9IGA8c3ZnIHZpZXdib3g9XCIwIDAgMTggMThcIj5cclxuLy8gICA8cG9seWdvbiBjbGFzcz1cInFsLWZpbGwgcWwtc3Ryb2tlXCIgcG9pbnRzPVwiNiAxMCA0IDEyIDIgMTAgNiAxMFwiPjwvcG9seWdvbj5cclxuLy8gICA8cGF0aCBjbGFzcz1cInFsLXN0cm9rZVwiIGQ9XCJNOC4wOSwxMy45MUE0LjYsNC42LDAsMCwwLDksMTQsNSw1LDAsMSwwLDQsOVwiPjwvcGF0aD5cclxuLy8gPC9zdmc+YDtcclxuLy8gaWNvbnMucmVkbyA9IGA8c3ZnIHZpZXdib3g9XCIwIDAgMTggMThcIj5cclxuLy8gICA8cG9seWdvbiBjbGFzcz1cInFsLWZpbGwgcWwtc3Ryb2tlXCIgcG9pbnRzPVwiMTIgMTAgMTQgMTIgMTYgMTAgMTIgMTBcIj48L3BvbHlnb24+XHJcbi8vICAgPHBhdGggY2xhc3M9XCJxbC1zdHJva2VcIiBkPVwiTTkuOTEsMTMuOTFBNC42LDQuNiwwLDAsMSw5LDE0YTUsNSwwLDEsMSw1LTVcIj48L3BhdGg+XHJcbi8vIDwvc3ZnPmA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1xdWlsbC1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWlsbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1aWxsLWVkaXRvci5jb21wb25lbnQubGVzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgVXBsb2FkT3NzU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFF1aWxsRWRpdG9yQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWlsbEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICfor7fovpPlhaUnO1xyXG4gIEBJbnB1dCgpIHN0eWxlczogYW55ID0ge2hlaWdodDogJzM1MHB4J307XHJcbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZyB8IGFueTsgLy8g57uE5Lu25a+55bqU55qEIOKAnCBuZ01vZGVsIOKAnVxyXG4gIEBJbnB1dCgpIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbmVlZEltZ1NlcTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVkaXRvcjogYW55O1xyXG4gIG9uQ2hhbmdlTGlzdGVuZXI6IGFueTsgLy8g5pS55Y+Y5YC85Zue6LCDXHJcbiAgb25Ub3VjaGVkTGlzdGVuZXI6IGFueTsgLy8g5Lqk5LqS5Zue6LCDXHJcbiAgaW1nVXJsczogYW55ID0gW107XHJcbiAgZWRpdG9yJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBpbWdWaXMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1cGxvYWRPc3NTZXJ2aWNlOiBVcGxvYWRPc3NTZXJ2aWNlLCBwcml2YXRlIG1lc3NhZ2U6IE56TWVzc2FnZVNlcnZpY2UpIHtcclxuICAgIGNvbnN0IGljb25zOiBhbnkgID0gUXVpbGwuaW1wb3J0KCd1aS9pY29ucycpO1xyXG4gICAgaWNvbnNbXCJ1bmRvXCJdID0gYDxzdmcgdmlld2JveD1cIjAgMCAxOCAxOFwiPlxyXG4gICAgICA8cG9seWdvbiBjbGFzcz1cInFsLWZpbGwgcWwtc3Ryb2tlXCIgcG9pbnRzPVwiNiAxMCA0IDEyIDIgMTAgNiAxMFwiPjwvcG9seWdvbj5cclxuICAgICAgPHBhdGggY2xhc3M9XCJxbC1zdHJva2VcIiBkPVwiTTguMDksMTMuOTFBNC42LDQuNiwwLDAsMCw5LDE0LDUsNSwwLDEsMCw0LDlcIj48L3BhdGg+XHJcbiAgICA8L3N2Zz5gO1xyXG4gICAgaWNvbnNbXCJyZWRvXCJdID0gYDxzdmcgdmlld2JveD1cIjAgMCAxOCAxOFwiPlxyXG4gICAgICA8cG9seWdvbiBjbGFzcz1cInFsLWZpbGwgcWwtc3Ryb2tlXCIgcG9pbnRzPVwiMTIgMTAgMTQgMTIgMTYgMTAgMTIgMTBcIj48L3BvbHlnb24+XHJcbiAgICAgIDxwYXRoIGNsYXNzPVwicWwtc3Ryb2tlXCIgZD1cIk05LjkxLDEzLjkxQTQuNiw0LjYsMCwwLDEsOSwxNGE1LDUsMCwxLDEsNS01XCI+PC9wYXRoPlxyXG4gICAgPC9zdmc+YDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5lZGl0b3IkLnBpcGUoXHJcbiAgICAgIGRlYm91bmNlVGltZSg3MDApXHJcbiAgICApLnN1YnNjcmliZSgoZWRpdG9yQ29udGVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2YgKHRoaXMub25DaGFuZ2VMaXN0ZW5lcikgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mICh0aGlzLm9uVG91Y2hlZExpc3RlbmVyKSkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VMaXN0ZW5lcihlZGl0b3JDb250ZW50KTsgLy8g5ZGK6K+JZm9ybe+8jOS9oOeahOihqOWNleWAvOaUueWPmOaIkOS6hnBheWxvYWRcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZExpc3RlbmVyKCk7IC8vIOWRiuiviWZvcm3vvIzkvaDnmoTooajljZXmnInkuqTkupLlj5HnlJ9cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnlbXSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlTGlzdGVuZXIgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkTGlzdGVuZXIgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShxdWlsbDogYW55KSB7XHJcbiAgICB0aGlzLmVkaXRvciQubmV4dChxdWlsbC5odG1sKTtcclxuICB9XHJcblxyXG4gIEVkaXRvckNyZWF0ZWQocXVpbGw6IGFueSkge1xyXG4gICAgY29uc3QgdG9vbGJhciA9IHF1aWxsLmdldE1vZHVsZSgndG9vbGJhcicpO1xyXG4gICAgdG9vbGJhci5hZGRIYW5kbGVyKCdpbWFnZScsIHRoaXMuaW1hZ2VIYW5kbGVyLmJpbmQodGhpcykpO1xyXG4gICAgdGhpcy5lZGl0b3IgPSBxdWlsbDtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHF1aWxsLm9uKCd0ZXh0LWNoYW5nZScsIGZ1bmN0aW9uIChkZWx0YTogYW55LCBvbGREZWx0YTogYW55LCBzb3VyY2U6IGFueSkge1xyXG4gICAgICBpZiAoc291cmNlID09ICdhcGknKSB7XHJcbiAgICAgIH0gZWxzZSBpZiAoc291cmNlID09ICd1c2VyJykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCd1c2VyJyk7XHJcbiAgICAgICAgdGhhdC51cGxvYWRJbWdzKFtdLCAwKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRCbG9iQnlCYXNlNjQodXJsOiBhbnksIG9sZFVybDogYW55KSB7XHJcbiAgICBjb25zdCBjOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgIGNvbnNvbGUubG9nKGMpO1xyXG4gICAgY29uc3QgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgY3R4LnN0cm9rZSgpO1xyXG4gICAgbGV0IGJsb2I6IGFueSA9IFRvb2xzVXRpbC5kYXRhVVJJdG9CbG9iKHVybCk7XHJcbiAgICBibG9iLm5hbWUgPSAnLnBuZyc7XHJcbiAgICBsZXQgZGVsdGEgPSB0aGlzLmVkaXRvci5nZXRDb250ZW50cygpO1xyXG4gICAgY29uc29sZS5sb2coJ2RlbHRhJywgZGVsdGEpXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlbHRhLm9wcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoZGVsdGEub3BzW2ldLmluc2VydC5pbWFnZSA9PSBvbGRVcmwpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW5kZXg6IGksXHJcbiAgICAgICAgICBibG9iOiBibG9iLFxyXG4gICAgICAgICAgb2xkVXJsOiBvbGRVcmxcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHVwbG9hZEltZ3MoYmxvZHM6IGFueSwgaW5kZXg6IGFueSkge1xyXG4gICAgbGV0IGRldGFpbHMgPSB0aGlzLmVkaXRvci5nZXRDb250ZW50cygpO1xyXG4gICAgbGV0IG9wdCA9IGRldGFpbHMub3BzW2luZGV4XTtcclxuICAgIGlmIChvcHQgJiYgb3B0Lmluc2VydCAmJiBvcHQuaW5zZXJ0LmltYWdlKSB7XHJcbiAgICAgIGlmIChUb29sc1V0aWwuaXNCYXNlNjQob3B0Lmluc2VydC5pbWFnZSkpIHtcclxuICAgICAgICBibG9kcy5wdXNoKHRoaXMuZ2V0QmxvYkJ5QmFzZTY0KG9wdC5pbnNlcnQuaW1hZ2UsIG9wdC5pbnNlcnQuaW1hZ2UpKTtcclxuICAgICAgICB0aGlzLmlzRW5kQ29udGVudHMoYmxvZHMsIGluZGV4KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcbiAgICAgICAgbGV0IGN0eDogYW55ID0gYy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgICAgIGxldCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgICAgICBpbWcuc3JjID0gb3B0Lmluc2VydC5pbWFnZTtcclxuICAgICAgICBpbWcuc2V0QXR0cmlidXRlKCdjcm9zc09yaWdpbicsICcqJyk7XHJcbiAgICAgICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgICAgIGltZy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICBjLndpZHRoID0gaW1nLndpZHRoO1xyXG4gICAgICAgICAgYy5oZWlnaHQgPSBpbWcuaGVpZ2h0O1xyXG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIGltZy53aWR0aCwgaW1nLmhlaWdodCk7XHJcbiAgICAgICAgICBsZXQgdXJsID0gYy50b0RhdGFVUkwoKTtcclxuICAgICAgICAgIGJsb2RzLnB1c2godGhhdC5nZXRCbG9iQnlCYXNlNjQodXJsLCBpbWcuc3JjKSlcclxuICAgICAgICAgIHRoYXQuaXNFbmRDb250ZW50cyhibG9kcywgaW5kZXgpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzRW5kQ29udGVudHMoYmxvZHMsIGluZGV4KVxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgdXBsb2FkSW1nKGJsb2RzOmFueSkge1xyXG4gICAgaWYgKCFibG9kcyB8fCBibG9kcy5sZW5ndGggPD0gMCkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBmb3IobGV0IGkgPSAwO2k8IGJsb2RzLmxlbmd0aDtpKyspe1xyXG4gICAgICBsZXQgYmxvYiA9IGJsb2RzW2ldO1xyXG4gICAgICB0aGlzLnVwbG9hZE9zc1NlcnZpY2UudXBsb2FkT3NzKGJsb2IpLnN1YnNjcmliZSgodXJsKSA9PiB7XHJcbiAgICAgICAgbGV0IGRlbHRhID0gdGhpcy5lZGl0b3IuZ2V0Q29udGVudHMoKTtcclxuICAgICAgICBkZWx0YS5maWx0ZXIoKG9wdDphbnkpID0+IG9wdCAmJiBvcHQuaW5zZXJ0ICYmIG9wdC5pbnNlcnQuaW1hZ2UgPT0gYmxvZHNbaV0ub2xkVXJsKS5mb3JFYWNoKChvcHQ6YW55LCBpbmRleDphbnkpID0+IHtcclxuICAgICAgICAgIG9wdC5pbnNlcnQuaW1hZ2UgPSB1cmxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmVkaXRvci5zZXRDb250ZW50cyhkZWx0YSwgJ2FwaScpO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuICBpc0VuZENvbnRlbnRzKGJsb2RzOmFueSwgaW5kZXg6YW55KSB7XHJcbiAgICBsZXQgZGV0YWlscyA9IHRoaXMuZWRpdG9yLmdldENvbnRlbnRzKCk7XHJcbiAgICBpZiAoKytpbmRleCAhPSBkZXRhaWxzLm9wcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51cGxvYWRJbWdzKGJsb2RzLCBpbmRleCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnVwbG9hZEltZyhibG9kcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbWFnZUhhbmRsZXIoKSB7XHJcbiAgICBjb25zdCBJbWFnZWlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIEltYWdlaW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2ZpbGUnKTtcclxuICAgIEltYWdlaW5wdXQuc2V0QXR0cmlidXRlKCdtdWx0aXBsZScsICdtdWx0aXBsZScpO1xyXG4gICAgSW1hZ2VpbnB1dC5zZXRBdHRyaWJ1dGUoJ2FjY2VwdCcsICdpbWFnZS9wbmcsIGltYWdlL2dpZiwgaW1hZ2UvanBlZywgaW1hZ2UvYm1wJyk7XHJcbiAgICBJbWFnZWlucHV0LmNsYXNzTGlzdC5hZGQoJ3FsLWltYWdlJyk7XHJcbiAgICBJbWFnZWlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHtcclxuICAgICAgaWYgKHRoaXMubmVlZEltZ1NlcSkge1xyXG4gICAgICAgIHRoaXMuaW1nVmlzID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLmxvZyhJbWFnZWlucHV0KTtcclxuICAgICAgbGV0IGZpbGVzOiBhbnkgPSBJbWFnZWlucHV0LmZpbGVzO1xyXG4gICAgICBpZiAoZmlsZXMgPT09IG51bGwgfHwgZmlsZXMubGVuZ3RoID09IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pbWdVcmxzID0gW107XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCBmaWxlID0gZmlsZXNbaV07XHJcbiAgICAgICAgaWYgKGZpbGUgPT09IG51bGwpIHtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGNvbnN0IGVycm9yID0gKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2Uud2FybmluZygn5LiK5Lyg5aSx6LSlJyk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy51cGxvYWRPc3NTZXJ2aWNlLnVwbG9hZE9zcyhmaWxlKS5zdWJzY3JpYmUoKHVybCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZmlsZSk7XHJcbiAgICAgICAgICBpZiAodXJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW1nVXJscy5wdXNoKHt1cmw6IHVybCwgZmlsZTogZmlsZSwgaW5kZXg6IGl9KTtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLm5lZWRJbWdTZXEpIHtcclxuICAgICAgICAgICAgICB0aGlzLmVkaXRvci5pbnNlcnRFbWJlZCh0aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24odHJ1ZSkuaW5kZXgsICdpbWFnZScsIHVybCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZS53YXJuaW5nKCfkuIrkvKDlpLHotKUnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLm5lZWRJbWdTZXEgJiYgdGhpcy5pbWdVcmxzLmxlbmd0aCA9PSBmaWxlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWdWaXMgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmltZ1VybHMuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IGEuaW5kZXggLSBiLmluZGV4KTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0ZVwiKT8uY2xpY2soKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCBlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuXHJcbiAgICBJbWFnZWlucHV0LmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBzYXZlU2VxKCkge1xyXG4gICAgY29uc29sZS5sb2coMTIzKTtcclxuICAgIGZvciAobGV0IGkgPSB0aGlzLmltZ1VybHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgdGhpcy5lZGl0b3IuaW5zZXJ0RW1iZWQodGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKHRydWUpLmluZGV4LCAnaW1hZ2UnLCB0aGlzLmltZ1VybHNbaV0udXJsKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW1nVmlzID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhcnJvd1VwKGluZGV4OiBhbnkpIHtcclxuICAgIGxldCBpbWcgPSB0aGlzLmltZ1VybHNbaW5kZXhdO1xyXG4gICAgdGhpcy5pbWdVcmxzW2luZGV4XSA9IHRoaXMuaW1nVXJsc1tpbmRleCAtIDFdO1xyXG4gICAgdGhpcy5pbWdVcmxzW2luZGV4IC0gMV0gPSBpbWc7XHJcbiAgfVxyXG5cclxuICBhcnJvd0Rvd24oaW5kZXg6IGFueSkge1xyXG4gICAgbGV0IGltZyA9IHRoaXMuaW1nVXJsc1tpbmRleF07XHJcbiAgICB0aGlzLmltZ1VybHNbaW5kZXhdID0gdGhpcy5pbWdVcmxzW2luZGV4ICsgMV07XHJcbiAgICB0aGlzLmltZ1VybHNbaW5kZXggKyAxXSA9IGltZztcclxuICB9XHJcblxyXG4gIGNhbmNsZSgpIHtcclxuICAgIHRoaXMuaW1nVmlzID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB0ZSgpIHtcclxuICAgIGNvbnNvbGUubG9nKCfkuIrkvKDlrozmr5UnKVxyXG4gIH1cclxufVxyXG4iLCI8cXVpbGwtZWRpdG9yXHJcbiAgW3N0eWxlc109XCJzdHlsZXNcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgKG9uRWRpdG9yQ3JlYXRlZCk9XCJFZGl0b3JDcmVhdGVkKCRldmVudClcIlxyXG4gIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gIChvbkNvbnRlbnRDaGFuZ2VkKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gIFtyZWFkT25seV09XCJyZWFkT25seVwiXHJcbj48L3F1aWxsLWVkaXRvcj5cclxuPCEtLei/meS4qmRpdizmmK/lm6DkuLrkuIrkvKDlrozmr5XnhKbngrnov5jlnKjlr4zmlofmnKzph4ws5by55Ye65peg5rOV5pi+56S6Li4uLi4tLT5cclxuPGRpdiBpZD1cInRlXCIgKGNsaWNrKT1cInRlKClcIj48L2Rpdj5cclxuPG56LW1vZGFsIFsobnpWaXNpYmxlKV09XCJpbWdWaXNcIiAobnpPbk9rKT1cInNhdmVTZXEoKVwiIChuek9uQ2FuY2VsKT1cImNhbmNsZSgpXCIgbnpNYXNrQ2xvc2FibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgICBbbnpTdHlsZV09XCJ7cGFkZGluZzowfVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm56TW9kYWxDb250ZW50PlxyXG4gIDxkaXYgc3R5bGU9XCJtYXgtaGVpZ2h0OjYwMHB4O292ZXJmbG93OmF1dG87bWFyZ2luLXRvcDogMTBweDtcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbWdzQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L256LW1vZGFsPlxyXG48bmctdGVtcGxhdGUgI2ltZ3NDb250ZW50PlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltZ09wdCBvZiBpbWdVcmxzO2xldCBpID0gaW5kZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWctZGl2XCI+XHJcbiAgICAgIDxpbWcgW3NyY109XCJpbWdPcHQudXJsXCIgW25nU3R5bGVdPVwieyB3aWR0aDogJzEwMHB4JyxkaXNwbGF5OiAnaW5saW5lLWJsb2NrJywgbWFyZ2luOic1cHgnIH1cIi8+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDsgY29sb3I6IGdyZXk7XCI+e3tpbWdPcHQuZmlsZS5uYW1lfX08L2Rpdj5cclxuICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMjBweDsgZmxleDogMTt0ZXh0LWFsaWduOiByaWdodDtcIj5cclxuICAgICAgICA8YSB0aXRsZT1cIuS4iuenu1wiICpuZ0lmPVwiIGkgPiAwXCIgc3R5bGU9XCJkaXNwbGF5OiBibG9jaztcIiAoY2xpY2spPVwiYXJyb3dVcChpKVwiPlxyXG4gICAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJhcnJvdy11cFwiIG56VGhlbWU9XCJvdXRsaW5lXCIgc3R5bGU9XCJjb2xvcjogIzE4OTBmZjsgZm9udC1zaXplOiAxNXB4O1wiPjwvaT5cclxuICAgICAgICAgIOS4iuenuzwvYT5cclxuICAgICAgICA8YSB0aXRsZT1cIuS4i+enu1wiICpuZ0lmPVwiIGkgPCBpbWdVcmxzLmxlbmd0aCAtIDFcIiAoY2xpY2spPVwiYXJyb3dEb3duKGkpXCI+XHJcbiAgICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cImFycm93LWRvd25cIiBuelRoZW1lPVwib3V0bGluZVwiIHN0eWxlPVwiY29sb3I6ICMxODkwZmY7IGZvbnQtc2l6ZTogMTVweFwiPjwvaT5cclxuICAgICAgICAgIOS4i+enuzwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiJdfQ==
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvcXVpbGwtZWRpdG9yL3F1aWxsLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3F1aWxsLWVkaXRvci9xdWlsbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDeEQsT0FBUSxLQUFLLE1BQU0sT0FBTyxDQUFDOzs7Ozs7Ozs7O0FBQzNCLDhDQUE4QztBQUM5QywwQ0FBMEM7QUFDMUMsK0VBQStFO0FBQy9FLHFGQUFxRjtBQUNyRixXQUFXO0FBQ1gsMENBQTBDO0FBQzFDLG1GQUFtRjtBQUNuRixxRkFBcUY7QUFDckYsV0FBVztBQWVYLE1BQU0sT0FBTyxvQkFBb0I7SUFjL0IsWUFBb0IsZ0JBQWtDLEVBQVUsT0FBeUI7UUFBckUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBWmhGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLFdBQU0sR0FBUSxFQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUMsQ0FB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RUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDN0JILGl2REFtQ0E7OzJGREphLG9CQUFvQjtrQkFiaEMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakI7d0JBQ1QsZ0JBQWdCO3dCQUNoQjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0hBSVEsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge056TWVzc2FnZVNlcnZpY2V9IGZyb20gJ25nLXpvcnJvLWFudGQvbWVzc2FnZSc7XHJcbmltcG9ydCB7VXBsb2FkT3NzU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2VydmljZXMvdXBsb2FkLW9zcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VG9vbHNVdGlsfSBmcm9tIFwiLi4vLi4vLi4vY29yZS91dGlscy9Ub29sc1V0aWxcIjtcclxuaW1wb3J0ICBRdWlsbCBmcm9tICdxdWlsbCc7XHJcbi8vIGNvbnN0IGljb25zOmFueSA9IFF1aWxsLmltcG9ydCgndWkvaWNvbnMnKTtcclxuLy8gaWNvbnMudW5kbyA9IGA8c3ZnIHZpZXdib3g9XCIwIDAgMTggMThcIj5cclxuLy8gICA8cG9seWdvbiBjbGFzcz1cInFsLWZpbGwgcWwtc3Ryb2tlXCIgcG9pbnRzPVwiNiAxMCA0IDEyIDIgMTAgNiAxMFwiPjwvcG9seWdvbj5cclxuLy8gICA8cGF0aCBjbGFzcz1cInFsLXN0cm9rZVwiIGQ9XCJNOC4wOSwxMy45MUE0LjYsNC42LDAsMCwwLDksMTQsNSw1LDAsMSwwLDQsOVwiPjwvcGF0aD5cclxuLy8gPC9zdmc+YDtcclxuLy8gaWNvbnMucmVkbyA9IGA8c3ZnIHZpZXdib3g9XCIwIDAgMTggMThcIj5cclxuLy8gICA8cG9seWdvbiBjbGFzcz1cInFsLWZpbGwgcWwtc3Ryb2tlXCIgcG9pbnRzPVwiMTIgMTAgMTQgMTIgMTYgMTAgMTIgMTBcIj48L3BvbHlnb24+XHJcbi8vICAgPHBhdGggY2xhc3M9XCJxbC1zdHJva2VcIiBkPVwiTTkuOTEsMTMuOTFBNC42LDQuNiwwLDAsMSw5LDE0YTUsNSwwLDEsMSw1LTVcIj48L3BhdGg+XHJcbi8vIDwvc3ZnPmA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1xdWlsbC1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWlsbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1aWxsLWVkaXRvci5jb21wb25lbnQubGVzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgVXBsb2FkT3NzU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFF1aWxsRWRpdG9yQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWlsbEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICfor7fovpPlhaUnO1xyXG4gIEBJbnB1dCgpIHN0eWxlczogYW55ID0ge2hlaWdodDogJzM1MHB4J307XHJcbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZyB8IGFueTsgLy8g57uE5Lu25a+55bqU55qEIOKAnCBuZ01vZGVsIOKAnVxyXG4gIEBJbnB1dCgpIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbmVlZEltZ1NlcTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVkaXRvcjogYW55O1xyXG4gIG9uQ2hhbmdlTGlzdGVuZXI6IGFueTsgLy8g5pS55Y+Y5YC85Zue6LCDXHJcbiAgb25Ub3VjaGVkTGlzdGVuZXI6IGFueTsgLy8g5Lqk5LqS5Zue6LCDXHJcbiAgaW1nVXJsczogYW55ID0gW107XHJcbiAgZWRpdG9yJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBpbWdWaXMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1cGxvYWRPc3NTZXJ2aWNlOiBVcGxvYWRPc3NTZXJ2aWNlLCBwcml2YXRlIG1lc3NhZ2U6IE56TWVzc2FnZVNlcnZpY2UpIHtcclxuICAgIGNvbnN0IGljb25zOiBhbnkgID0gUXVpbGwuaW1wb3J0KCd1aS9pY29ucycpO1xyXG4gICAgaWNvbnNbXCJ1bmRvXCJdID0gYDxzdmcgdmlld2JveD1cIjAgMCAxOCAxOFwiPlxyXG4gICAgICA8cG9seWdvbiBjbGFzcz1cInFsLWZpbGwgcWwtc3Ryb2tlXCIgcG9pbnRzPVwiNiAxMCA0IDEyIDIgMTAgNiAxMFwiPjwvcG9seWdvbj5cclxuICAgICAgPHBhdGggY2xhc3M9XCJxbC1zdHJva2VcIiBkPVwiTTguMDksMTMuOTFBNC42LDQuNiwwLDAsMCw5LDE0LDUsNSwwLDEsMCw0LDlcIj48L3BhdGg+XHJcbiAgICA8L3N2Zz5gO1xyXG4gICAgaWNvbnNbXCJyZWRvXCJdID0gYDxzdmcgdmlld2JveD1cIjAgMCAxOCAxOFwiPlxyXG4gICAgICA8cG9seWdvbiBjbGFzcz1cInFsLWZpbGwgcWwtc3Ryb2tlXCIgcG9pbnRzPVwiMTIgMTAgMTQgMTIgMTYgMTAgMTIgMTBcIj48L3BvbHlnb24+XHJcbiAgICAgIDxwYXRoIGNsYXNzPVwicWwtc3Ryb2tlXCIgZD1cIk05LjkxLDEzLjkxQTQuNiw0LjYsMCwwLDEsOSwxNGE1LDUsMCwxLDEsNS01XCI+PC9wYXRoPlxyXG4gICAgPC9zdmc+YDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5lZGl0b3IkLnBpcGUoXHJcbiAgICAgIGRlYm91bmNlVGltZSg3MDApXHJcbiAgICApLnN1YnNjcmliZSgoZWRpdG9yQ29udGVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2YgKHRoaXMub25DaGFuZ2VMaXN0ZW5lcikgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mICh0aGlzLm9uVG91Y2hlZExpc3RlbmVyKSkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VMaXN0ZW5lcihlZGl0b3JDb250ZW50KTsgLy8g5ZGK6K+JZm9ybe+8jOS9oOeahOihqOWNleWAvOaUueWPmOaIkOS6hnBheWxvYWRcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZExpc3RlbmVyKCk7IC8vIOWRiuiviWZvcm3vvIzkvaDnmoTooajljZXmnInkuqTkupLlj5HnlJ9cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnlbXSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlTGlzdGVuZXIgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkTGlzdGVuZXIgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShxdWlsbDogYW55KSB7XHJcbiAgICB0aGlzLmVkaXRvciQubmV4dChxdWlsbC5odG1sKTtcclxuICB9XHJcblxyXG4gIEVkaXRvckNyZWF0ZWQocXVpbGw6IGFueSkge1xyXG4gICAgY29uc3QgdG9vbGJhciA9IHF1aWxsLmdldE1vZHVsZSgndG9vbGJhcicpO1xyXG4gICAgdG9vbGJhci5hZGRIYW5kbGVyKCdpbWFnZScsIHRoaXMuaW1hZ2VIYW5kbGVyLmJpbmQodGhpcykpO1xyXG4gICAgdGhpcy5lZGl0b3IgPSBxdWlsbDtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHF1aWxsLm9uKCd0ZXh0LWNoYW5nZScsIGZ1bmN0aW9uIChkZWx0YTogYW55LCBvbGREZWx0YTogYW55LCBzb3VyY2U6IGFueSkge1xyXG4gICAgICBpZiAoc291cmNlID09ICdhcGknKSB7XHJcbiAgICAgIH0gZWxzZSBpZiAoc291cmNlID09ICd1c2VyJykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCd1c2VyJyk7XHJcbiAgICAgICAgdGhhdC51cGxvYWRJbWdzKFtdLCAwKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRCbG9iQnlCYXNlNjQodXJsOiBhbnksIG9sZFVybDogYW55KSB7XHJcbiAgICBjb25zdCBjOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgIGNvbnNvbGUubG9nKGMpO1xyXG4gICAgY29uc3QgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgY3R4LnN0cm9rZSgpO1xyXG4gICAgbGV0IGJsb2I6IGFueSA9IFRvb2xzVXRpbC5kYXRhVVJJdG9CbG9iKHVybCk7XHJcbiAgICBibG9iLm5hbWUgPSAnLnBuZyc7XHJcbiAgICBsZXQgZGVsdGEgPSB0aGlzLmVkaXRvci5nZXRDb250ZW50cygpO1xyXG4gICAgY29uc29sZS5sb2coJ2RlbHRhJywgZGVsdGEpXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlbHRhLm9wcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoZGVsdGEub3BzW2ldLmluc2VydC5pbWFnZSA9PSBvbGRVcmwpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW5kZXg6IGksXHJcbiAgICAgICAgICBibG9iOiBibG9iLFxyXG4gICAgICAgICAgb2xkVXJsOiBvbGRVcmxcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHVwbG9hZEltZ3MoYmxvZHM6IGFueSwgaW5kZXg6IGFueSkge1xyXG4gICAgbGV0IGRldGFpbHMgPSB0aGlzLmVkaXRvci5nZXRDb250ZW50cygpO1xyXG4gICAgbGV0IG9wdCA9IGRldGFpbHMub3BzW2luZGV4XTtcclxuICAgIGlmIChvcHQgJiYgb3B0Lmluc2VydCAmJiBvcHQuaW5zZXJ0LmltYWdlKSB7XHJcbiAgICAgIGlmIChUb29sc1V0aWwuaXNCYXNlNjQob3B0Lmluc2VydC5pbWFnZSkpIHtcclxuICAgICAgICBibG9kcy5wdXNoKHRoaXMuZ2V0QmxvYkJ5QmFzZTY0KG9wdC5pbnNlcnQuaW1hZ2UsIG9wdC5pbnNlcnQuaW1hZ2UpKTtcclxuICAgICAgICB0aGlzLmlzRW5kQ29udGVudHMoYmxvZHMsIGluZGV4KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcbiAgICAgICAgbGV0IGN0eDogYW55ID0gYy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgICAgIGxldCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgICAgICBpbWcuc3JjID0gb3B0Lmluc2VydC5pbWFnZTtcclxuICAgICAgICBpbWcuc2V0QXR0cmlidXRlKCdjcm9zc09yaWdpbicsICcqJyk7XHJcbiAgICAgICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgICAgIGltZy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICBjLndpZHRoID0gaW1nLndpZHRoO1xyXG4gICAgICAgICAgYy5oZWlnaHQgPSBpbWcuaGVpZ2h0O1xyXG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIGltZy53aWR0aCwgaW1nLmhlaWdodCk7XHJcbiAgICAgICAgICBsZXQgdXJsID0gYy50b0RhdGFVUkwoKTtcclxuICAgICAgICAgIGJsb2RzLnB1c2godGhhdC5nZXRCbG9iQnlCYXNlNjQodXJsLCBpbWcuc3JjKSlcclxuICAgICAgICAgIHRoYXQuaXNFbmRDb250ZW50cyhibG9kcywgaW5kZXgpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzRW5kQ29udGVudHMoYmxvZHMsIGluZGV4KVxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgdXBsb2FkSW1nKGJsb2RzOmFueSkge1xyXG4gICAgaWYgKCFibG9kcyB8fCBibG9kcy5sZW5ndGggPD0gMCkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBmb3IobGV0IGkgPSAwO2k8IGJsb2RzLmxlbmd0aDtpKyspe1xyXG4gICAgICBsZXQgYmxvYiA9IGJsb2RzW2ldO1xyXG4gICAgICB0aGlzLnVwbG9hZE9zc1NlcnZpY2UudXBsb2FkT3NzKGJsb2IpLnN1YnNjcmliZSgodXJsKSA9PiB7XHJcbiAgICAgICAgbGV0IGRlbHRhID0gdGhpcy5lZGl0b3IuZ2V0Q29udGVudHMoKTtcclxuICAgICAgICBkZWx0YS5maWx0ZXIoKG9wdDphbnkpID0+IG9wdCAmJiBvcHQuaW5zZXJ0ICYmIG9wdC5pbnNlcnQuaW1hZ2UgPT0gYmxvZHNbaV0ub2xkVXJsKS5mb3JFYWNoKChvcHQ6YW55LCBpbmRleDphbnkpID0+IHtcclxuICAgICAgICAgIG9wdC5pbnNlcnQuaW1hZ2UgPSB1cmxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmVkaXRvci5zZXRDb250ZW50cyhkZWx0YSwgJ2FwaScpO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuICBpc0VuZENvbnRlbnRzKGJsb2RzOmFueSwgaW5kZXg6YW55KSB7XHJcbiAgICBsZXQgZGV0YWlscyA9IHRoaXMuZWRpdG9yLmdldENvbnRlbnRzKCk7XHJcbiAgICBpZiAoKytpbmRleCAhPSBkZXRhaWxzLm9wcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51cGxvYWRJbWdzKGJsb2RzLCBpbmRleCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnVwbG9hZEltZyhibG9kcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbWFnZUhhbmRsZXIoKSB7XHJcbiAgICBjb25zdCBJbWFnZWlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIEltYWdlaW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2ZpbGUnKTtcclxuICAgIEltYWdlaW5wdXQuc2V0QXR0cmlidXRlKCdtdWx0aXBsZScsICdtdWx0aXBsZScpO1xyXG4gICAgSW1hZ2VpbnB1dC5zZXRBdHRyaWJ1dGUoJ2FjY2VwdCcsICdpbWFnZS9wbmcsIGltYWdlL2dpZiwgaW1hZ2UvanBlZywgaW1hZ2UvYm1wJyk7XHJcbiAgICBJbWFnZWlucHV0LmNsYXNzTGlzdC5hZGQoJ3FsLWltYWdlJyk7XHJcbiAgICBJbWFnZWlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHtcclxuICAgICAgaWYgKHRoaXMubmVlZEltZ1NlcSkge1xyXG4gICAgICAgIHRoaXMuaW1nVmlzID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLmxvZyhJbWFnZWlucHV0KTtcclxuICAgICAgbGV0IGZpbGVzOiBhbnkgPSBJbWFnZWlucHV0LmZpbGVzO1xyXG4gICAgICBpZiAoZmlsZXMgPT09IG51bGwgfHwgZmlsZXMubGVuZ3RoID09IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pbWdVcmxzID0gW107XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCBmaWxlID0gZmlsZXNbaV07XHJcbiAgICAgICAgaWYgKGZpbGUgPT09IG51bGwpIHtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGNvbnN0IGVycm9yID0gKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2Uud2FybmluZygn5LiK5Lyg5aSx6LSlJyk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy51cGxvYWRPc3NTZXJ2aWNlLnVwbG9hZE9zcyhmaWxlKS5zdWJzY3JpYmUoKHVybCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZmlsZSk7XHJcbiAgICAgICAgICBpZiAodXJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW1nVXJscy5wdXNoKHt1cmw6IHVybCwgZmlsZTogZmlsZSwgaW5kZXg6IGl9KTtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLm5lZWRJbWdTZXEpIHtcclxuICAgICAgICAgICAgICB0aGlzLmVkaXRvci5pbnNlcnRFbWJlZCh0aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24odHJ1ZSkuaW5kZXgsICdpbWFnZScsIHVybCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZS53YXJuaW5nKCfkuIrkvKDlpLHotKUnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLm5lZWRJbWdTZXEgJiYgdGhpcy5pbWdVcmxzLmxlbmd0aCA9PSBmaWxlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWdWaXMgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmltZ1VybHMuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IGEuaW5kZXggLSBiLmluZGV4KTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0ZVwiKT8uY2xpY2soKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCBlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuXHJcbiAgICBJbWFnZWlucHV0LmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBzYXZlU2VxKCkge1xyXG4gICAgY29uc29sZS5sb2coMTIzKTtcclxuICAgIGZvciAobGV0IGkgPSB0aGlzLmltZ1VybHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgdGhpcy5lZGl0b3IuaW5zZXJ0RW1iZWQodGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKHRydWUpLmluZGV4LCAnaW1hZ2UnLCB0aGlzLmltZ1VybHNbaV0udXJsKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW1nVmlzID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhcnJvd1VwKGluZGV4OiBhbnkpIHtcclxuICAgIGxldCBpbWcgPSB0aGlzLmltZ1VybHNbaW5kZXhdO1xyXG4gICAgdGhpcy5pbWdVcmxzW2luZGV4XSA9IHRoaXMuaW1nVXJsc1tpbmRleCAtIDFdO1xyXG4gICAgdGhpcy5pbWdVcmxzW2luZGV4IC0gMV0gPSBpbWc7XHJcbiAgfVxyXG5cclxuICBhcnJvd0Rvd24oaW5kZXg6IGFueSkge1xyXG4gICAgbGV0IGltZyA9IHRoaXMuaW1nVXJsc1tpbmRleF07XHJcbiAgICB0aGlzLmltZ1VybHNbaW5kZXhdID0gdGhpcy5pbWdVcmxzW2luZGV4ICsgMV07XHJcbiAgICB0aGlzLmltZ1VybHNbaW5kZXggKyAxXSA9IGltZztcclxuICB9XHJcblxyXG4gIGNhbmNsZSgpIHtcclxuICAgIHRoaXMuaW1nVmlzID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB0ZSgpIHtcclxuICAgIGNvbnNvbGUubG9nKCfkuIrkvKDlrozmr5UnKVxyXG4gIH1cclxufVxyXG4iLCI8cXVpbGwtZWRpdG9yXHJcbiAgW3N0eWxlc109XCJzdHlsZXNcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgKG9uRWRpdG9yQ3JlYXRlZCk9XCJFZGl0b3JDcmVhdGVkKCRldmVudClcIlxyXG4gIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gIChvbkNvbnRlbnRDaGFuZ2VkKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gIFtyZWFkT25seV09XCJyZWFkT25seVwiXHJcbj48L3F1aWxsLWVkaXRvcj5cclxuPCEtLei/meS4qmRpdizmmK/lm6DkuLrkuIrkvKDlrozmr5XnhKbngrnov5jlnKjlr4zmlofmnKzph4ws5by55Ye65peg5rOV5pi+56S6Li4uLi4tLT5cclxuPGRpdiBpZD1cInRlXCIgKGNsaWNrKT1cInRlKClcIj48L2Rpdj5cclxuPG56LW1vZGFsIFsobnpWaXNpYmxlKV09XCJpbWdWaXNcIiAobnpPbk9rKT1cInNhdmVTZXEoKVwiIChuek9uQ2FuY2VsKT1cImNhbmNsZSgpXCIgbnpNYXNrQ2xvc2FibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgICBbbnpTdHlsZV09XCJ7cGFkZGluZzowfVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm56TW9kYWxDb250ZW50PlxyXG4gIDxkaXYgc3R5bGU9XCJtYXgtaGVpZ2h0OjYwMHB4O292ZXJmbG93OmF1dG87bWFyZ2luLXRvcDogMTBweDtcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbWdzQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L256LW1vZGFsPlxyXG48bmctdGVtcGxhdGUgI2ltZ3NDb250ZW50PlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltZ09wdCBvZiBpbWdVcmxzO2xldCBpID0gaW5kZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWctZGl2XCI+XHJcbiAgICAgIDxpbWcgW3NyY109XCJpbWdPcHQudXJsXCIgW25nU3R5bGVdPVwieyB3aWR0aDogJzEwMHB4JyxkaXNwbGF5OiAnaW5saW5lLWJsb2NrJywgbWFyZ2luOic1cHgnIH1cIi8+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDsgY29sb3I6IGdyZXk7XCI+e3tpbWdPcHQuZmlsZS5uYW1lfX08L2Rpdj5cclxuICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMjBweDsgZmxleDogMTt0ZXh0LWFsaWduOiByaWdodDtcIj5cclxuICAgICAgICA8YSB0aXRsZT1cIuS4iuenu1wiICpuZ0lmPVwiIGkgPiAwXCIgc3R5bGU9XCJkaXNwbGF5OiBibG9jaztcIiAoY2xpY2spPVwiYXJyb3dVcChpKVwiPlxyXG4gICAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJhcnJvdy11cFwiIG56VGhlbWU9XCJvdXRsaW5lXCIgc3R5bGU9XCJjb2xvcjogIzE4OTBmZjsgZm9udC1zaXplOiAxNXB4O1wiPjwvaT5cclxuICAgICAgICAgIOS4iuenuzwvYT5cclxuICAgICAgICA8YSB0aXRsZT1cIuS4i+enu1wiICpuZ0lmPVwiIGkgPCBpbWdVcmxzLmxlbmd0aCAtIDFcIiAoY2xpY2spPVwiYXJyb3dEb3duKGkpXCI+XHJcbiAgICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cImFycm93LWRvd25cIiBuelRoZW1lPVwib3V0bGluZVwiIHN0eWxlPVwiY29sb3I6ICMxODkwZmY7IGZvbnQtc2l6ZTogMTVweFwiPjwvaT5cclxuICAgICAgICAgIOS4i+enuzwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiJdfQ==
|