@sbb-esta/lyne-elements-experimental-dev 5.0.0-next.3-dev.1779265358 → 5.0.0-next.3-dev.1779268564
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/core/styles/{theme.scss → _theme.scss} +1 -1
- package/core/styles/{core.scss → features/core.scss} +1 -1
- package/development/autocomplete-grid-option.component-D9pTXPlu.js +1 -1
- package/development/autocomplete-grid-row.component-CBHh50jC.js +1 -1
- package/development/journey-summary.component-De1ioDRq.js +1 -1
- package/development/pearl-chain-time.component-BxVQ1z-Z.js +1 -1
- package/development/pearl-chain-vertical-item.component-DJioJtxP.js +1 -1
- package/development/pearl-chain.component-EEAZ7Kol.js +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
- package/development/seat-reservation-graphic.component-C2r57590.js +1 -1
- package/development/seat-reservation-navigation-coach.component-CMm-2Vuc.js +438 -0
- package/development/seat-reservation-place-control.component-Dfxv9B6C.js +1 -1
- package/development/seat-reservation.component-CR5QYNWZ.js +473 -0
- package/development/seat-reservation.js +2 -2
- package/development/seat-reservation.pure.js +2 -2
- package/development/timetable-duration.component-fBla8Kue.js +1 -1
- package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
- package/development/timetable-row/timetable-row.component.js +1 -1
- package/development/timetable-row.component-CTShHdLn.js +736 -0
- package/development/timetable-row.js +1 -1
- package/development/timetable-row.pure.js +1 -1
- package/package.json +2 -6
- package/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
- package/seat-reservation-navigation-coach.component-Cwxd9vLy.js +338 -0
- package/{seat-reservation.component-VhMc8Rqt.js → seat-reservation.component-TLuTP9Nm.js} +77 -76
- package/seat-reservation.js +2 -2
- package/seat-reservation.pure.js +2 -2
- package/timetable-row/timetable-row.component.js +1 -1
- package/{timetable-row.component-Din-TQ9u.js → timetable-row.component-DawXp2ut.js} +112 -108
- package/timetable-row.js +1 -1
- package/timetable-row.pure.js +1 -1
- package/core.css +0 -13
- package/development/seat-reservation-navigation-coach.component-9ySnZIKH.js +0 -434
- package/development/seat-reservation.component-BGvVv6rJ.js +0 -472
- package/development/timetable-row.component-DSTGtQAC.js +0 -732
- package/seat-reservation-navigation-coach.component-BkqPWUtu.js +0 -334
|
@@ -428,4 +428,4 @@ var SbbSeatReservationPlaceControlElement = (() => {
|
|
|
428
428
|
//#endregion
|
|
429
429
|
export { SbbSeatReservationPlaceControlElement as n, SbbPlaceSelectionEvent as t };
|
|
430
430
|
|
|
431
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC1EZnh2OUI2Qy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sL3NlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wvc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLW1peGlucycgYXMgc2JiLXNyLW1peGlucztcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbi8vIERlcGVuZHMgb24gdGhlIHBsYWNlIHN0YXRlIGFuZCBjdXJyZW50IGV2ZW50IChob3Zlcnxmb2N1cyksIHRoZSBiYWNrZ3JvdW5kIGFuZCBmaWxsIGNvbG9ycyBvZiB0aGUgcGxhY2UsXG4vLyBiYWNrcmVzdCBvZiBwbGFjZSBhbmQgdGhlIHRleHQgY29sb3IgYXJlIGhhbmRsZWQgYnkgY29sb3JpemVQbGFjZSBmdW5jdGlvbi5cbkBtaXhpbiBjb2xvcml6ZVBsYWNlKCRzdGF0ZSwgJGV2ZW50KSB7XG4gIDo6cGFydChzdmctcGxhY2UpIHtcbiAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLSN7JGV2ZW50fSk7XG4gIH1cblxuICA6OnBhcnQoc3ZnLWJhY2tyZXN0KSB7XG4gICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja3Jlc3QtYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICB9XG5cbiAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAvLyBkb250IHVzZSB0cmFuc3BhcmVudCBvciByZW1vdmUgYmFja2dyb3VuZCwgb3RoZXJ3aXNlIHRoZXJlIGFyZSBhMTF5IHZpb2xhdGlvbnMgcmVnYXJkaW5nXG4gICAgLy8gaW5zdWZmaWNpZW50IGNvbG9yIGNvbnRyYXN0XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICAgIGNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS10ZXh0KTtcbiAgfVxuXG4gIEBpZiAkc3RhdGUgIT0gJ3NlbGVjdGVkJyB7XG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgOjpwYXJ0KHN2Zy1wbGFjZSkge1xuICAgICAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICA6OnBhcnQoc3ZnLWJhY2tyZXN0KSB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LWJhY2tyZXN0LWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICA6OnBhcnQoc3ZnLWljb24pIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0taWNvbi1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgOjpwYXJ0KHN2Zy1zZWF0bGluZSkge1xuICAgICAgICBzdHJva2U6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LWJhY2tyZXN0LWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3RcbiAgICAgICAgKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LXRleHQtaGlnaC1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiRkaXNhYmxlZDogJy5zYmItcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0tZGlzYWJsZWQnO1xuXG46aG9zdCB7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNjYWxlLXZhbHVlOiAxO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtd2lkdGg6IDE2O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtaGVpZ2h0OiAxNjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRvcDogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWxlZnQ6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1yb3RhdGlvbjogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRleHQtcm90YXRpb246IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNpemU6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNjYWxlLXZhbHVlLCAxKSAqIDAuNVxuICApO1xuXG4gIC8vIENvbG9yIGRlZmluaXRpb24gZm9yIHRleHRcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWRlZmF1bHQtdGV4dDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItYmxhY2spLFxuICAgIHZhcigtLXNiYi1jb2xvci13aGl0ZSlcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWhvdmVyLXRleHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWlyb24pLFxuICAgIHZhcigtLXNiYi1jb2xvci1zaWx2ZXIpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mb2N1cy10ZXh0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1hbnRocmFjaXRlKSxcbiAgICB2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtdGV4dDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3Itc21va2UpLFxuICAgIHZhcigtLXNiYi1jb2xvci1tZXRhbClcbiAgKTtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIHBsYWNlIHdpdGggc3RhdGUgRlJFRVxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTIpO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWhvdmVyOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1jbG91ZCksXG4gICAgdmFyKC0tc2JiLWNvbG9yLW1pZG5pZ2h0KVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWZvY3VzOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1zaWx2ZXIpLFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjaylcbiAgKTtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIGJhY2tyZXN0IHdpdGggc3RhdGUgRlJFRVxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tyZXN0LWJhY2tncm91bmQtaG92ZXI6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tyZXN0LWJhY2tncm91bmQtZm9jdXM6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBwbGFjZSB3aXRoIHN0YXRlIFNFTEVDVEVEXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcigtLXNiYi1jb2xvci1wcmltYXJ5KTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLXNiYi1jb2xvci1wcmltYXJ5MTI1KTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tncm91bmQtZm9jdXM6IHZhcigtLXNiYi1jb2xvci1wcmltYXJ5MTUwKTtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIGJhY2tyZXN0IHdpdGggc3RhdGUgU0VMRUNURURcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tyZXN0LWJhY2tncm91bmQtZGVmYXVsdDogdmFyKFxuICAgIC0tc2JiLWNvbG9yLXByaW1hcnkxNTBcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tyZXN0LWJhY2tncm91bmQtaG92ZXI6ICM3ZDAwMGY7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrcmVzdC1iYWNrZ3JvdW5kLWZvY3VzOiAjNWEwMDBiO1xuXG4gIC8vIENvbG9yIGJhY2tncm91bmQgZGVmaW5pdGlvbiBmb3IgcGxhY2Ugd2l0aCBzdGF0ZSBBTExPQ0FURURcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLW1pbGspLFxuICAgIHZhcigtLXNiYi1jb2xvci1taWRuaWdodClcbiAgKTtcblxuICAvLyBDb2xvciBkZWZpbml0aW9ucyBmb3IgaGlnaCBjb250cmFzdCBtb2RlXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tyZXN0LWhpZ2gtY29udHJhc3Q6IENhbnZhc1RleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tncm91bmQtaGlnaC1jb250cmFzdDogQ2FudmFzO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS10ZXh0LWhpZ2gtY29udHJhc3Q6IEJ1dHRvblRleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWljb24taGlnaC1jb250cmFzdDogQ2FudmFzVGV4dDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0OiBHcmF5VGV4dDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3Q6IENhbnZhcztcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC10ZXh0LWhpZ2gtY29udHJhc3Q6IEdyYXlUZXh0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtYWxsb2NhdGVkLWljb24taGlnaC1jb250cmFzdDogR3JheVRleHQ7XG5cbiAgd2lkdGg6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtd2lkdGgpKTtcbiAgaGVpZ2h0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWhlaWdodCkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRvcCkpO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtbGVmdCkpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItcG9pbnRlcik7XG59XG5cbjpob3N0KDpob3Zlcikge1xuICAuc2JiLXNyLXBsYWNlLWN0cmwge1xuICAgICYtLXN0YXRlLWZyZWU6bm90KCN7JGRpc2FibGVkfSkge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnZnJlZScsICdob3ZlcicpO1xuICAgIH1cblxuICAgICYtLXN0YXRlLXNlbGVjdGVkOm5vdCgjeyRkaXNhYmxlZH0pIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yaXplUGxhY2UoJ3NlbGVjdGVkJywgJ2hvdmVyJyk7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KDpmb2N1cy12aXNpYmxlKSB7XG4gIC5zYmItc3ItcGxhY2UtY3RybCB7XG4gICAgJi0tc3RhdGUtZnJlZTpub3QoI3skZGlzYWJsZWR9KSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdmcmVlJywgJ2ZvY3VzJyk7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KDphY3RpdmUpIHtcbiAgLnNiYi1zci1wbGFjZS1jdHJsIHtcbiAgICAmLS1zdGF0ZS1zZWxlY3RlZDpub3QoI3skZGlzYWJsZWR9KSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdzZWxlY3RlZCcsICdmb2N1cycpO1xuICAgIH1cbiAgfVxufVxuXG4vLyByb3RhdGVzIHRoZSBET00tcGFydCBcInN2Zy1wbGFjZVwiIGJ5IDE4MCBkZWdyZWVzIGlmIHRoZSBob3N0IGlzIGluIFJUTCBtb2RlLlxuQGluY2x1ZGUgc2JiLXNyLW1peGlucy5yb3RhdGUtZG9tLXBhcnQoc3ZnLXBsYWNlKTtcblxuLnNiYi1zci1wbGFjZS1jdHJsIHtcbiAgJHJvb3Q6ICY7XG5cbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0odmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNpemUpKTtcblxuICAmLS1zdGF0ZS1mcmVlIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdmcmVlJywgJ2RlZmF1bHQnKTtcbiAgfVxuXG4gICYtLXN0YXRlLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdzZWxlY3RlZCcsICdkZWZhdWx0Jyk7XG4gIH1cblxuICAmLS1zdGF0ZS1hbGxvY2F0ZWQsXG4gICYtLXN0YXRlLXJlc3RyaWN0ZWQge1xuICAgIEBpbmNsdWRlIGNvbG9yaXplUGxhY2UoJ2FsbG9jYXRlZCcsICdkZWZhdWx0Jyk7XG5cbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogNTAlO1xuICAgIHRyYW5zbGF0ZTogLTUwJSAtNTAlO1xuICAgIHJvdGF0ZTogY2FsYyh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRleHQtcm90YXRpb24pICogMWRlZyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNiYi10eXBvLWZvbnQtZmFtaWx5KTtcblxuICAgIC8vIGRvbnQgdXNlIHNiYi5weC10by1yZW0gb3IgLS1zYmItdHlwby1zY2FsZS0wLTc1eDsgd2Ugd2FudCBcImVtXCIgaW4gdGhpcyBjYXNlIVxuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuXG4gICAgI3skcm9vdH0tLXN0YXRlLWZyZWUgJixcbiAgICAjeyRyb290fS0tc3RhdGUtYWxsb2NhdGVkICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgI3skcm9vdH0tLXR5cGUtYmljeWNsZSAmIHtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiA2NSU7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUwJTtcblxuICAgICAgLy8gV2UgbmVlZCB0byBhZGp1c3QgdHJhbnNmb3JtIG9yaWdpbiBwb2ludCBmb3IgYmljeWNsZSBwbGFjZXMgdGV4dCAobmVjZXNzYXJ5IGZvciByb3RhdGlvbiksXG4gICAgICAvLyBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiBwbGFjZSBudW1iZXIgaXMgbm90IGNlbnRlcmVkIGluIHRoZSBwbGFjZSBhcmVhLlxuICAgICAgLy8gVGhlIHZhbHVlIDE2JSBpcyB0aGUgb3B0aW1hbCB2YWx1ZSBmb3IgdGhlIHJvdGF0aW9uIG9mZnNldCBvbiB0aGUgb3JpZ2luIHktYXhpcy5cbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciAxNiU7XG5cbiAgICAgIC8vIHVzZSBhIHNtYWxsZXIgZm9udC1zaXplIHRvIGF2b2lkIGExMXkgdmlvbGF0aW9uXG4gICAgICBmb250LXNpemU6IDAuNjg3NWVtO1xuICAgIH1cblxuICAgIC8vIERlcGVuZGluZyBvbiB0aGUgcGxhY2Ugb3JpZW50YXRpb24sIG1pbm9yIHBvc2l0aW9uaW5nIGFkanVzdG1lbnRzIG1heSBuZWVkIHRvIGJlIG1hZGUgdG8gY2VudGVyIHRoZSB0ZXh0LFxuICAgIC8vIGJlY2F1c2Ugb2YgdGhlIHdpZHRoIG9mIHRoZSBTVkcgd2hpY2ggaXMgbm90IHNxdWFyZVxuICAgICN7JHJvb3R9LS1vcmllbnRhdGlvbi0wI3skcm9vdH0tLXR5cGUtc2VhdCAmIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNDUlO1xuICAgIH1cblxuICAgICN7JHJvb3R9LS1vcmllbnRhdGlvbi05MCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNDYlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCU7XG4gICAgfVxuXG4gICAgI3skcm9vdH0tLW9yaWVudGF0aW9uLTE4MCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDU1JTtcbiAgICB9XG5cbiAgICAjeyRyb290fS0tb3JpZW50YXRpb24tMjcwI3skcm9vdH0tLXR5cGUtc2VhdCAmIHtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiA1MiU7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUyJTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoOmRpcihydGwpKSB7XG4gIC8vIEZvciBSVEwsIHdlIG5lZWQgdG8gYWRqdXN0IHRoZSB0ZXh0IHBvc2l0aW9uIHRvIHRoZSByaWdodCBzaWRlXG4gIC5zYmItc3ItcGxhY2UtY3RybCB7XG4gICAgJi0tb3JpZW50YXRpb24tMCAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAzJTtcbiAgICB9XG5cbiAgICAmLS1vcmllbnRhdGlvbi05MCAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQsXG4gICAgJi0tb3JpZW50YXRpb24tMTgwIC5zYmItc3ItcGxhY2UtY3RybF9fdGV4dCB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDEwJTtcbiAgICB9XG5cbiAgICAmLS1vcmllbnRhdGlvbi0yNzAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNSU7XG4gICAgfVxuXG4gICAgJi0tdHlwZS1iaWN5Y2xlIC5zYmItc3ItcGxhY2UtY3RybF9fdGV4dCB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0xMCU7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQge1xuICBmb3JjZVR5cGUsXG4gIFNiYkJ1dHRvbkJhc2VFbGVtZW50LFxuICB0eXBlIFNiYkVsZW1lbnRUeXBlLFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcC5qcyc7XG5cbmltcG9ydCB7IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24gfSBmcm9tICcuLi9jb21tb24vdHJhbnNsYXRpb25zLnRzJztcbmltcG9ydCB0eXBlIHsgUGxhY2VTZWxlY3Rpb24sIFBsYWNlU3RhdGUsIFBsYWNlVHlwZSwgVHJhdmVsRGlyZWN0aW9uIH0gZnJvbSAnLi4vY29tbW9uL3R5cGVzLnRzJztcbmltcG9ydCB7IFNiYlNlYXRSZXNlcnZhdGlvbkdyYXBoaWNFbGVtZW50IH0gZnJvbSAnLi4vc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wuc2Nzcz9pbmxpbmUnO1xuXG50eXBlIFRyYXZlbERpcmVjdGlvbkkxOG5LZXkgPVxuICB8ICdUUkFWRUxfRElSRUNUSU9OX0lOX0RJUkVDVElPTidcbiAgfCAnVFJBVkVMX0RJUkVDVElPTl9JTl9PUFBPU0lURV9ESVJFQ1RJT04nXG4gIHwgJ1RSQVZFTF9ESVJFQ1RJT05fVFJBTlNWRVJTRUxZJztcblxuZXhwb3J0IGNsYXNzIFNiYlBsYWNlU2VsZWN0aW9uRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RldGFpbDogUGxhY2VTZWxlY3Rpb247XG5cbiAgcHVibGljIGdldCBkZXRhaWwoKTogUGxhY2VTZWxlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl9kZXRhaWw7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoZGV0YWlsOiBQbGFjZVNlbGVjdGlvbikge1xuICAgIHN1cGVyKCdzZWxlY3RwbGFjZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSk7XG4gICAgdGhpcy5fZGV0YWlsID0gZGV0YWlsO1xuICB9XG59XG5cbi8qKlxuICogT3V0cHV0IHRoZSBncmFwaGljIG9mIGEgc2VhdCBvciBhIGJpY3ljbGUgcGxhY2UgYXMgYSBjb250cm9sIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTZWF0UmVzZXJ2YXRpb25QbGFjZUNvbnRyb2xFbGVtZW50IGV4dGVuZHMgU2JiQnV0dG9uQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgZWxlbWVudERlcGVuZGVuY2llczogU2JiRWxlbWVudFR5cGVbXSA9IFtTYmJTZWF0UmVzZXJ2YXRpb25HcmFwaGljRWxlbWVudF07XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFt1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgc2VsZWN0cGxhY2U6ICdzZWxlY3RwbGFjZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIHBsYWNlVHlwZSBvZiB0aGUgcGxhY2UsIGUuZy4gJ1NFQVQnLCAnQklDWUNMRScgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3R5cGUnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwbGFjZVR5cGU6IFBsYWNlVHlwZSA9ICdTRUFUJztcblxuICAvKiogc3RhdGUgb2YgdGhlIHBsYWNlLCBlLmcuICdGUkVFJywgJ1NFTEVDVEVEJywgJ0JMT0NLRUQnICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdzdGF0ZScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIHN0YXRlOiBQbGFjZVN0YXRlID0gJ0ZSRUUnO1xuXG4gIC8qKiBkaXJlY3Rpb24gb2YgYSB3aG9sZSB0cmFpbiwgdXNlZCB0byBjb21wdXRlIGFuIG9yaWVudGF0aW9uIG9mIGEgcGxhY2UgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndHJhdmVsLWRpcmVjdGlvbicgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRyYXZlbERpcmVjdGlvbjogVHJhdmVsRGlyZWN0aW9uID0gJ05PTkUnO1xuXG4gIC8qKiBwcm9wZXJ0eSBpZHMgb2YgdGhlIHBsYWNlLCB0byBkaXNwbGF5IG1vcmUgaW5mbyBhYm91dCB0aGUgcGxhY2UgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncHJvcGVydHlJZHMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcHJvcGVydHlJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqIGxhYmVsIG9mIHRoZSBwbGFjZSwgZS5nLiAnMUEnLCAnMkInICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0ZXh0JyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgdGV4dDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIERlY2sgSW5kZXggUHJvcCB0byBpZGVudGlmaWVyIHRoZSByaWdodCBwbGFjZSB0byBkZWNrICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkZWNrLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkZWNrSW5kZXg6IG51bWJlciA9IG51bGwhO1xuXG4gIC8qKiBDb2FjaCBJbmRleCBQcm9wIHRvIGlkZW50aWZpZXIgdGhlIHJpZ2h0IHBsYWNlIHRvIGNvYWNoICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjb2FjaC1pbmRleCcsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY29hY2hJbmRleDogbnVtYmVyID0gbnVsbCE7XG5cbiAgLyoqIFByZXZlbnQgY2xpY2sgcHJvcCBwcmV2ZW50IGFueSBwbGFjZSBhY3Rpb24gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3ByZXZlbnQtY2xpY2snLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwcmV2ZW50Q2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU2V0IHRoZSBwbGFjZSBmb2N1cyBvdXRsaW5lIHN0eWxlICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdrZXlmb2N1cycgfSlcbiAgcHVibGljIGFjY2Vzc29yIGtleWZvY3VzOiBzdHJpbmcgPSAndW5mb2N1cyc7XG5cbiAgLyoqIERpc2FibGUgdGhlIG1vdXNlIG92ZXIgdGl0bGUgaW5mb3JtYXRpb24gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4sIHVzZURlZmF1bHQ6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIHNob3dUaXRsZUluZm86IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuX3NlbGVjdFBsYWNlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdrZXlmb2N1cycpKSB7XG4gICAgICBpZiAodGhpcy5rZXlmb2N1cyA9PT0gJ2ZvY3VzJykge1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgbmFtZTogc3RyaW5nID0gdGhpcy5fZ2V0UGxhY2VTdmcodGhpcy5wbGFjZVR5cGUsIHRoaXMuc3RhdGUpO1xuICAgIGNvbnN0IHR5cGU6IHN0cmluZyA9IHRoaXMudHlwZS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHN0YXRlOiBzdHJpbmcgPSB0aGlzLnN0YXRlLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgdGV4dDogc3RyaW5nIHwgbnVsbCA9IHRoaXMudGV4dDtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuc3R5bGU/LmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC13aWR0aCcpO1xuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMuc3R5bGU/LmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1oZWlnaHQnKTtcbiAgICBjb25zdCByb3RhdGlvbiA9IHRoaXMuc3R5bGU/LmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1yb3RhdGlvbicpO1xuICAgIGNvbnN0IHRleHRSb3RhdGlvbiA9IHRoaXMuc3R5bGU/LmdldFByb3BlcnR5VmFsdWUoXG4gICAgICAnLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRleHQtcm90YXRpb24nLFxuICAgICk7XG4gICAgY29uc3QgaW52ZXJzZVJvdGF0aW9uUGxhY2VDaGVja0ljb24gPSBOdW1iZXIodGV4dFJvdGF0aW9uKSAtIE51bWJlcihyb3RhdGlvbik7XG4gICAgY29uc3QgZGlzYWJsZWRDbGFzcyA9IHRoaXMucHJldmVudENsaWNrID8gJ3NiYi1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLS1kaXNhYmxlZCcgOiBudWxsO1xuICAgIGNvbnN0IHBsYWNlRGVzY3JpcHRpb24gPSB0aGlzLl9nZXRUaXRsZURlc2NyaXB0aW9uUGxhY2Uocm90YXRpb24pO1xuXG4gICAgLy8gb25seSBzZXQgdGl0bGUgdG8gdGhlIFNiYkJ1dHRvbkJhc2VFbGVtZW50IGlmIHJlcXVlc3RlZDsgb3RoZXJ3aXNlIHByb3ZpZGUgdGhlIHRpdGxlXG4gICAgLy8gaW5mb3JtYXRpb24gdG8gc2NyZWVuIHJlYWRlcnMgdmlhIGFyaWEtbGFiZWwgYXQgaG9zdCBlbGVtZW50XG4gICAgaWYgKHRoaXMuc2hvd1RpdGxlSW5mbykge1xuICAgICAgdGhpcy50aXRsZSA9IHBsYWNlRGVzY3JpcHRpb247XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWwgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTZXQgYXJpYS1sYWJlbCBzY3JlZW4gcmVhZGVyIGluZm9cbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9IHBsYWNlRGVzY3JpcHRpb247XG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgndGl0bGUnKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhYkluZGV4ID0gLTE7XG5cbiAgICByZXR1cm4gaHRtbGAgPGRpdlxuICAgICAgcGFydD1cInNiYi1zci1wbGFjZS1wYXJ0XCJcbiAgICAgIGNsYXNzPVwic2JiLXNyLXBsYWNlLWN0cmwgc2JiLXNyLXBsYWNlLWN0cmwtLW9yaWVudGF0aW9uLSR7cm90YXRpb259IHNiYi1zci1wbGFjZS1jdHJsLS1zdGF0ZS0ke3N0YXRlfSBzYmItc3ItcGxhY2UtY3RybC0tdHlwZS0ke3R5cGV9ICR7ZGlzYWJsZWRDbGFzc31cIlxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICA+XG4gICAgICA8c2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpY1xuICAgICAgICBzdHlsZT0ke3N0eWxlTWFwKHtcbiAgICAgICAgICAnLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXdpZHRoJzogd2lkdGgsXG4gICAgICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1oZWlnaHQnOiBoZWlnaHQsXG4gICAgICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1yb3RhdGlvbic6IHJvdGF0aW9uLFxuICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaW52ZXJzZS1yb3RhdGlvbic6IGludmVyc2VSb3RhdGlvblBsYWNlQ2hlY2tJY29uLFxuICAgICAgICB9KX1cbiAgICAgICAgLm5hbWU9JHtuYW1lfVxuICAgICAgPjwvc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYz5cbiAgICAgIDxzcGFuICR7dGhpcy50ZXh0ID8/IG5vdGhpbmd9IGNsYXNzPVwic2JiLXNyLXBsYWNlLWN0cmxfX3RleHRcIj4ke3RleHR9IDwvc3Bhbj5cbiAgICA8L2Rpdj5gO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UGxhY2VTdmcodHlwZTogUGxhY2VUeXBlLCBzdGF0ZTogUGxhY2VTdGF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgdHlwZVN0cmluZyA9IHR5cGUgYXMgc3RyaW5nO1xuICAgIGNvbnN0IHN0YXRlU3RyaW5nID0gc3RhdGUgYXMgc3RyaW5nO1xuICAgIHJldHVybiBgUExBQ0VfJHt0eXBlU3RyaW5nfV8ke3N0YXRlU3RyaW5nfWA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUaXRsZURlc2NyaXB0aW9uUGxhY2Uocm90YXRpb246IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSAnUExBQ0VfQ09OVFJPTF8nICsgdGhpcy50eXBlICsgJ18nICsgdGhpcy5zdGF0ZTtcbiAgICBsZXQgZGVzY3JpcHRpb24gPSBnZXRJMThuU2VhdFJlc2VydmF0aW9uKHRyYW5zbGF0aW9uS2V5LCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50LCBbdGhpcy50ZXh0XSk7XG5cbiAgICBjb25zdCByZWxhdGl2ZVRyYXZlbERpcmVjdGlvbiA9IHRoaXMuX2dldFJlbGF0aXZlVHJhdmVsRGlyZWN0aW9uKHJvdGF0aW9uKTtcblxuICAgIGlmICh0aGlzLnByb3BlcnR5SWRzLmxlbmd0aCB8fCByZWxhdGl2ZVRyYXZlbERpcmVjdGlvbikge1xuICAgICAgZGVzY3JpcHRpb24gKz1cbiAgICAgICAgJy4gJyArIGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oJ1BMQUNFX1BST1BFUlRZJywgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkuY29uY2F0KCc6ICcpO1xuXG4gICAgICBkZXNjcmlwdGlvbiArPSBbcmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24sIC4uLnRoaXMucHJvcGVydHlJZHNdXG4gICAgICAgIC5tYXAoKHByb3BlcnR5SWQpID0+XG4gICAgICAgICAgZ2V0STE4blNlYXRSZXNlcnZhdGlvbignUExBQ0VfUFJPUEVSVElFUy4nICsgcHJvcGVydHlJZCwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCksXG4gICAgICAgIClcbiAgICAgICAgLmZpbHRlcigodmFsdWUpID0+IHZhbHVlKVxuICAgICAgICAuam9pbignLCAnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVzY3JpcHRpb247XG4gIH1cblxuICBwcml2YXRlIF9nZXRSZWxhdGl2ZVRyYXZlbERpcmVjdGlvbihcbiAgICByb3RhdGlvblZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICk6IFRyYXZlbERpcmVjdGlvbkkxOG5LZXkgfCB1bmRlZmluZWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLnRyYXZlbERpcmVjdGlvbiB8fFxuICAgICAgdGhpcy50cmF2ZWxEaXJlY3Rpb24gPT09ICdOT05FJyB8fFxuICAgICAgdGhpcy5wbGFjZVR5cGUgIT09ICdTRUFUJyB8fFxuICAgICAgIXJvdGF0aW9uVmFsdWVcbiAgICApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IHJvdGF0aW9uID0gTnVtYmVyKHJvdGF0aW9uVmFsdWUpO1xuXG4gICAgaWYgKHJvdGF0aW9uID09PSA5MCB8fCByb3RhdGlvbiA9PT0gMjcwKSB7XG4gICAgICByZXR1cm4gJ1RSQVZFTF9ESVJFQ1RJT05fVFJBTlNWRVJTRUxZJztcbiAgICB9XG5cbiAgICBjb25zdCBpbkRpcmVjdGlvbiA9XG4gICAgICAocm90YXRpb24gPT09IDAgJiYgdGhpcy50cmF2ZWxEaXJlY3Rpb24gPT09ICdSSUdIVCcpIHx8XG4gICAgICAocm90YXRpb24gPT09IDE4MCAmJiB0aGlzLnRyYXZlbERpcmVjdGlvbiA9PT0gJ0xFRlQnKTtcblxuICAgIGlmIChpbkRpcmVjdGlvbikge1xuICAgICAgcmV0dXJuICdUUkFWRUxfRElSRUNUSU9OX0lOX0RJUkVDVElPTic7XG4gICAgfSBlbHNlIGlmIChyb3RhdGlvbiA9PT0gMCB8fCByb3RhdGlvbiA9PT0gMTgwKSB7XG4gICAgICByZXR1cm4gJ1RSQVZFTF9ESVJFQ1RJT05fSU5fT1BQT1NJVEVfRElSRUNUSU9OJztcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqIElmIHRoZSBwbGFjZSBzZWxlY3RhYmxlLCB3ZSBlbWl0IHRoZSBwbGFjZVNlbGVjdGlvbiBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5mb3MgdG8gdGhlIHBsYWNlIHN0YXRlICovXG4gIHByaXZhdGUgX3NlbGVjdFBsYWNlKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGFibGUgPSAodGhpcy5zdGF0ZSA9PT0gJ0ZSRUUnIHx8IHRoaXMuc3RhdGUgPT09ICdTRUxFQ1RFRCcpICYmICF0aGlzLnByZXZlbnRDbGljaztcblxuICAgIGlmIChzZWxlY3RhYmxlKSB7XG4gICAgICB0aGlzLnN0YXRlID0gdGhpcy5zdGF0ZSA9PT0gJ0ZSRUUnID8gJ1NFTEVDVEVEJyA6ICdGUkVFJztcblxuICAgICAgLy8gRklYTUU6IHRoZSBuYW1lIG9mIHRoaXMgdmFyaWFibGUgYXBwZWFycyBhcyBldmVudCBuYW1lIGluIHRoZSByZWFkbWVcbiAgICAgIC8vICBkdWUgdG8gYSBidWcgaW4gdGhlIGN1c3RvbS1lbGVtZW50cy1tYW5pZmVzdCBsaWJyYXJ5LlxuICAgICAgLy8gIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXdjL2N1c3RvbS1lbGVtZW50cy1tYW5pZmVzdC9pc3N1ZXMvMTQ5XG4gICAgICBjb25zdCBzZWxlY3RwbGFjZTogUGxhY2VTZWxlY3Rpb24gPSB7XG4gICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICBkZWNrSW5kZXg6IHRoaXMuZGVja0luZGV4LFxuICAgICAgICBjb2FjaEluZGV4OiB0aGlzLmNvYWNoSW5kZXgsXG4gICAgICAgIG51bWJlcjogdGhpcy50ZXh0LFxuICAgICAgICBzdGF0ZTogdGhpcy5zdGF0ZSxcbiAgICAgICAgcGxhY2VUeXBlOiB0aGlzLnBsYWNlVHlwZSxcbiAgICAgIH07XG5cbiAgICAgIC8qKlxuICAgICAgICogQHR5cGUge1NiYlBsYWNlU2VsZWN0aW9uRXZlbnR9XG4gICAgICAgKiBFbWl0cyB3aGVuIGEgcGxhY2Ugd2FzIHNlbGVjdGVkIHZpYSB1c2VyIGludGVyYWN0aW9uIGFuZCByZXR1cm5zIGFcbiAgICAgICAqIFBsYWNlU2VsZWN0aW9uIG9iamVjdCB3aXRoIG5lY2Vzc2FyeSBwbGFjZSBpbmZvcm1hdGlvbi5cbiAgICAgICAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBTYmJQbGFjZVNlbGVjdGlvbkV2ZW50KHNlbGVjdHBsYWNlKSk7XG4gICAgfVxuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sJzogU2JiU2VhdFJlc2VydmF0aW9uUGxhY2VDb250cm9sRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQzRCQSxJQUFhLHlCQUFiLGNBQTRDLE1BQUs7Q0FHL0MsSUFBVyxTQUFNO0VBQ2YsT0FBTyxLQUFLO0NBQ2Q7Q0FFQSxZQUFtQixRQUFzQjtFQUN2QyxNQUFNLGVBQWU7R0FBRSxTQUFTO0dBQU0sVUFBVTtFQUFJLENBQUU7RUFDdEQsS0FBSyxVQUFVO0NBQ2pCOzs7OztJQU1XLCtDQUFxQzttQkFBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUE5Qyw4Q0FBOEMsWUFBb0I7Ozs0QkFTNUUsVUFBUyxHQUNULFNBQVMsRUFBRSxXQUFXLE9BQU0sQ0FBRSxDQUFDO3dCQUkvQixVQUFTLEdBQ1QsU0FBUztJQUFFLFdBQVc7SUFBUyxTQUFTO0dBQUksQ0FBRSxDQUFDO2tDQUkvQyxTQUFTLEVBQUUsV0FBVyxtQkFBa0IsQ0FBRSxDQUFDOzhCQUkzQyxTQUFTO0lBQUUsV0FBVztJQUFlLE1BQU07R0FBSyxDQUFFLENBQUM7dUJBSW5ELFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyxPQUFNLENBQUUsQ0FBQzs0QkFJL0IsVUFBUyxHQUNULFNBQVM7SUFBRSxXQUFXO0lBQWMsTUFBTTtHQUFNLENBQUUsQ0FBQzs2QkFJbkQsVUFBUyxHQUNULFNBQVM7SUFBRSxXQUFXO0lBQWUsTUFBTTtHQUFNLENBQUUsQ0FBQzsrQkFJcEQsVUFBUyxHQUNULFNBQVM7SUFBRSxXQUFXO0lBQWlCLE1BQU07R0FBTyxDQUFFLENBQUM7MkJBSXZELFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyxXQUFVLENBQUUsQ0FBQztnQ0FJbkMsVUFBUyxHQUNULFNBQVM7SUFBRSxNQUFNO0lBQVMsWUFBWTtHQUFJLENBQUUsQ0FBQztHQTFDOUMsYUFBQSxNQUFBLE1BQUEsdUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxlQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVMsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFULFlBQVM7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEseUJBQUEsNEJBQUE7R0FLekIsYUFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFMLFFBQUs7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEscUJBQUEsd0JBQUE7R0FJckIsYUFBQSxNQUFBLE1BQUEsNkJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxxQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFlLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBZixrQkFBZTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSwrQkFBQSxrQ0FBQTtHQUkvQixhQUFBLE1BQUEsTUFBQSx5QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGlCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVcsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFYLGNBQVc7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEsMkJBQUEsOEJBQUE7R0FLM0IsYUFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFKLE9BQUk7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEsb0JBQUEsdUJBQUE7R0FLcEIsYUFBQSxNQUFBLE1BQUEsdUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxlQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVMsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFULFlBQVM7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEseUJBQUEsNEJBQUE7R0FLekIsYUFBQSxNQUFBLE1BQUEsd0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxnQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFVLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBVixhQUFVO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLDBCQUFBLDZCQUFBO0dBSzFCLGFBQUEsTUFBQSxNQUFBLDBCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsa0JBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBWSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVosZUFBWTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSw0QkFBQSwrQkFBQTtHQUs1QixhQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVIsV0FBUTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSx3QkFBQSwyQkFBQTtHQUt4QixhQUFBLE1BQUEsTUFBQSwyQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLG1CQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWEsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFiLGdCQUFhO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLDZCQUFBLGdDQUFBOzs7Ozs7Ozs7R0FyREcsS0FBQSxjQUFzQjtFQUFxQzs7R0FDcEUsS0FBQSxzQkFBd0MsQ0FBQyxnQ0FBZ0M7RUFBRTs7R0FDM0UsS0FBQSxTQUF5QixDQUFDLFVBQVUsc0NBQUssQ0FBQztFQUFFOztHQUM1QyxLQUFBLFNBQVMsRUFDOUIsYUFBYSxjQUFBO0VBQ0o7RUFLWDs7RUFBQSxJQUFnQixZQUFTO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBekIsSUFBZ0IsVUFBUyxPQUFBO0dBQUEsS0FBQSw4QkFBQTtFQUFBO0VBS3pCOztFQUFBLElBQWdCLFFBQUs7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUFyQixJQUFnQixNQUFLLE9BQUE7R0FBQSxLQUFBLDBCQUFBO0VBQUE7RUFJckI7O0VBQUEsSUFBZ0Isa0JBQWU7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUEvQixJQUFnQixnQkFBZSxPQUFBO0dBQUEsS0FBQSxvQ0FBQTtFQUFBO0VBSS9COztFQUFBLElBQWdCLGNBQVc7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUEzQixJQUFnQixZQUFXLE9BQUE7R0FBQSxLQUFBLGdDQUFBO0VBQUE7RUFLM0I7O0VBQUEsSUFBZ0IsT0FBSTtHQUFBLE9BQUEsS0FBQTtFQUFBO0VBQXBCLElBQWdCLEtBQUksT0FBQTtHQUFBLEtBQUEseUJBQUE7RUFBQTtFQUtwQjs7RUFBQSxJQUFnQixZQUFTO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBekIsSUFBZ0IsVUFBUyxPQUFBO0dBQUEsS0FBQSw4QkFBQTtFQUFBO0VBS3pCOztFQUFBLElBQWdCLGFBQVU7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUExQixJQUFnQixXQUFVLE9BQUE7R0FBQSxLQUFBLCtCQUFBO0VBQUE7RUFLMUI7O0VBQUEsSUFBZ0IsZUFBWTtHQUFBLE9BQUEsS0FBQTtFQUFBO0VBQTVCLElBQWdCLGFBQVksT0FBQTtHQUFBLEtBQUEsaUNBQUE7RUFBQTtFQUs1Qjs7RUFBQSxJQUFnQixXQUFRO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBeEIsSUFBZ0IsU0FBUSxPQUFBO0dBQUEsS0FBQSw2QkFBQTtFQUFBO0VBS3hCOztFQUFBLElBQWdCLGdCQUFhO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBN0IsSUFBZ0IsY0FBYSxPQUFBO0dBQUEsS0FBQSxrQ0FBQTtFQUFBO0VBSTdCLGNBQUE7R0FDRSxNQUFLO0dBaERTLEtBQUEsOEJBQUEsa0JBQUEsTUFBQSx5QkFBdUIsTUFBTTtHQUs3QixLQUFBLDJCQUFBLGtCQUFBLE1BQUEsNEJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFvQixNQUFNO0dBSTFCLEtBQUEscUNBQUEsa0JBQUEsTUFBQSx3QkFBQSxHQUFBLGtCQUFBLE1BQUEsK0JBQW1DLE1BQU07R0FJekMsS0FBQSxpQ0FBQSxrQkFBQSxNQUFBLGtDQUFBLEdBQUEsa0JBQUEsTUFBQSwyQkFBd0IsQ0FBQSxDQUFFO0dBSzFCLEtBQUEsMEJBQUEsa0JBQUEsTUFBQSw4QkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JBQWUsRUFBRTtHQUtqQixLQUFBLCtCQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHlCQUFvQixJQUFLO0dBS3pCLEtBQUEsZ0NBQUEsa0JBQUEsTUFBQSw0QkFBQSxHQUFBLGtCQUFBLE1BQUEsMEJBQXFCLElBQUs7R0FLMUIsS0FBQSxrQ0FBQSxrQkFBQSxNQUFBLDZCQUFBLEdBQUEsa0JBQUEsTUFBQSw0QkFBd0IsS0FBSztHQUs3QixLQUFBLDhCQUFBLGtCQUFBLE1BQUEsK0JBQUEsR0FBQSxrQkFBQSxNQUFBLHdCQUFtQixTQUFTO0dBSzVCLEtBQUEsbUNBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEsNkJBQXlCLEtBQUs7R0FFdEMsS0FBQSxhQUFTLGtCQUFBLE1BQUEsZ0NBQUEsR0FBRyxJQUFJLHNCQUFzQixJQUFJO0dBSWhELEtBQUssaUJBQWlCLGVBQWUsS0FBSyxhQUFZLENBQUU7RUFDMUQ7RUFFbUIsV0FBVyxtQkFBdUM7R0FDbkUsTUFBTSxXQUFXLGlCQUFpQjtHQUVsQyxJQUFJLGtCQUFrQixJQUFJLFVBQVU7UUFDOUIsS0FBSyxhQUFhLFNBQ3BCLEtBQUssTUFBSztHQUFBO0VBR2hCO0VBRW1CLFNBQU07R0FDdkIsTUFBTSxPQUFlLEtBQUssYUFBYSxLQUFLLFdBQVcsS0FBSyxLQUFLO0dBQ2pFLE1BQU0sT0FBZSxLQUFLLEtBQUssWUFBVztHQUMxQyxNQUFNLFFBQWdCLEtBQUssTUFBTSxZQUFXO0dBQzVDLE1BQU0sT0FBc0IsS0FBSztHQUNqQyxNQUFNLFFBQVEsS0FBSyxPQUFPLGlCQUFpQiw0Q0FBNEM7R0FDdkYsTUFBTSxTQUFTLEtBQUssT0FBTyxpQkFBaUIsNkNBQTZDO0dBQ3pGLE1BQU0sV0FBVyxLQUFLLE9BQU8saUJBQWlCLCtDQUErQztHQUM3RixNQUFNLGVBQWUsS0FBSyxPQUFPLGlCQUMvQixvREFBb0Q7R0FFdEQsTUFBTSxnQ0FBZ0MsT0FBTyxZQUFZLElBQUksT0FBTyxRQUFRO0dBQzVFLE1BQU0sZ0JBQWdCLEtBQUssZUFBZSw0Q0FBNEM7R0FDdEYsTUFBTSxtQkFBbUIsS0FBSywwQkFBMEIsUUFBUTtHQUloRSxJQUFJLEtBQUssZUFBZTtJQUN0QixLQUFLLFFBQVE7SUFDYixLQUFLLFVBQVUsWUFBWTtHQUM3QixPQUFPO0lBRUwsS0FBSyxVQUFVLFlBQVk7SUFDM0IsS0FBSyxnQkFBZ0IsT0FBTztHQUM5QjtHQUVBLEtBQUssV0FBVztHQUVoQixPQUFPLElBQUk7O2dFQUVpRCxTQUFRLDRCQUE2QixNQUFLLDJCQUE0QixLQUFJLEdBQUksY0FBYTs7OztnQkFJM0ksU0FBUztJQUNmLHdDQUF3QztJQUN4Qyx5Q0FBeUM7SUFDekMsMkNBQTJDO0lBQzNDLG1EQUFtRDtJQUNwRCxFQUFBO2dCQUNPLEtBQUE7O2NBRUYsS0FBSyxRQUFRLFFBQU8sbUNBQW9DLEtBQUk7O0VBRXhFO0VBRVEsYUFBYSxNQUFpQixPQUFpQjtHQUdyRCxPQUFPLFNBQVMsS0FBVSxHQUFJO0VBQ2hDO0VBRVEsMEJBQTBCLFVBQTRCO0dBRTVELElBQUksY0FBYyx1QkFESyxtQkFBbUIsS0FBSyxPQUFPLE1BQU0sS0FBSyxPQUNSLEtBQUssVUFBVSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUM7R0FFNUYsTUFBTSwwQkFBMEIsS0FBSyw0QkFBNEIsUUFBUTtHQUV6RSxJQUFJLEtBQUssWUFBWSxVQUFVLHlCQUF5QjtJQUN0RCxlQUNFLE9BQU8sdUJBQXVCLGtCQUFrQixLQUFLLFVBQVUsT0FBTyxFQUFFLE9BQU8sSUFBSTtJQUVyRixlQUFlLENBQUMseUJBQXlCLEdBQUcsS0FBSyxXQUFXLEVBQ3pELEtBQUssZUFDSix1QkFBdUIsc0JBQXNCLFlBQVksS0FBSyxVQUFVLE9BQU8sQ0FBQyxFQUVqRixRQUFRLFVBQVUsS0FBSyxFQUN2QixLQUFLLElBQUk7R0FDZDtHQUVBLE9BQU87RUFDVDtFQUVRLDRCQUNOLGVBQWlDO0dBRWpDLElBQ0UsQ0FBQyxLQUFLLG1CQUNOLEtBQUssb0JBQW9CLFVBQ3pCLEtBQUssY0FBYyxVQUNuQixDQUFDLGVBRUQ7R0FFRixNQUFNLFdBQVcsT0FBTyxhQUFhO0dBRXJDLElBQUksYUFBYSxNQUFNLGFBQWEsS0FDbEMsT0FBTztHQU9ULElBSEcsYUFBYSxLQUFLLEtBQUssb0JBQW9CLFdBQzNDLGFBQWEsT0FBTyxLQUFLLG9CQUFvQixRQUc5QyxPQUFPO1FBQ0YsSUFBSSxhQUFhLEtBQUssYUFBYSxLQUN4QyxPQUFPO0VBSVg7O0VBR1EsZUFBWTtHQUdsQixLQUZvQixLQUFLLFVBQVUsVUFBVSxLQUFLLFVBQVUsZUFBZSxDQUFDLEtBQUssY0FFakU7SUFDZCxLQUFLLFFBQVEsS0FBSyxVQUFVLFNBQVMsYUFBYTtJQUtsRCxNQUFNLGNBQThCO0tBQ2xDLElBQUksS0FBSztLQUNULFdBQVcsS0FBSztLQUNoQixZQUFZLEtBQUs7S0FDakIsUUFBUSxLQUFLO0tBQ2IsT0FBTyxLQUFLO0tBQ1osV0FBVyxLQUFLOzs7Ozs7O0lBUWxCLEtBQUssY0FBYyxJQUFJLHVCQUF1QixXQUFXLENBQUM7R0FDNUQ7RUFDRiJ9
|
|
431
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC1EZnh2OUI2Qy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sL3NlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wvc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLW1peGlucycgYXMgc2JiLXNyLW1peGlucztcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbi8vIERlcGVuZHMgb24gdGhlIHBsYWNlIHN0YXRlIGFuZCBjdXJyZW50IGV2ZW50IChob3Zlcnxmb2N1cyksIHRoZSBiYWNrZ3JvdW5kIGFuZCBmaWxsIGNvbG9ycyBvZiB0aGUgcGxhY2UsXG4vLyBiYWNrcmVzdCBvZiBwbGFjZSBhbmQgdGhlIHRleHQgY29sb3IgYXJlIGhhbmRsZWQgYnkgY29sb3JpemVQbGFjZSBmdW5jdGlvbi5cbkBtaXhpbiBjb2xvcml6ZVBsYWNlKCRzdGF0ZSwgJGV2ZW50KSB7XG4gIDo6cGFydChzdmctcGxhY2UpIHtcbiAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLSN7JGV2ZW50fSk7XG4gIH1cblxuICA6OnBhcnQoc3ZnLWJhY2tyZXN0KSB7XG4gICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja3Jlc3QtYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICB9XG5cbiAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAvLyBkb250IHVzZSB0cmFuc3BhcmVudCBvciByZW1vdmUgYmFja2dyb3VuZCwgb3RoZXJ3aXNlIHRoZXJlIGFyZSBhMTF5IHZpb2xhdGlvbnMgcmVnYXJkaW5nXG4gICAgLy8gaW5zdWZmaWNpZW50IGNvbG9yIGNvbnRyYXN0XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICAgIGNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS10ZXh0KTtcbiAgfVxuXG4gIEBpZiAkc3RhdGUgIT0gJ3NlbGVjdGVkJyB7XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgIDo6cGFydChzdmctcGxhY2UpIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgOjpwYXJ0KHN2Zy1iYWNrcmVzdCkge1xuICAgICAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgOjpwYXJ0KHN2Zy1pY29uKSB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LWljb24taGlnaC1jb250cmFzdCk7XG4gICAgICB9XG5cbiAgICAgIDo6cGFydChzdmctc2VhdGxpbmUpIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC1oaWdoLWNvbnRyYXN0XG4gICAgICAgICk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS10ZXh0LWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4kZGlzYWJsZWQ6ICcuc2JiLXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtLWRpc2FibGVkJztcblxuOmhvc3Qge1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zY2FsZS12YWx1ZTogMTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXdpZHRoOiAxNjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWhlaWdodDogMTY7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10b3A6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1sZWZ0OiAwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtcm90YXRpb246IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXJvdGF0aW9uOiAwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zaXplOiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zY2FsZS12YWx1ZSwgMSkgKiAwLjVcbiAgKTtcblxuICAvLyBDb2xvciBkZWZpbml0aW9uIGZvciB0ZXh0XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1kZWZhdWx0LXRleHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1ob3Zlci10ZXh0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1pcm9uKSxcbiAgICB2YXIoLS1zYmItY29sb3Itc2lsdmVyKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZm9jdXMtdGV4dDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItYW50aHJhY2l0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtYWxsb2NhdGVkLXRleHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLXNtb2tlKSxcbiAgICB2YXIoLS1zYmItY29sb3ItbWV0YWwpXG4gICk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBwbGFjZSB3aXRoIHN0YXRlIEZSRUVcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja2dyb3VuZC1kZWZhdWx0OiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0yKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja2dyb3VuZC1ob3ZlcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItY2xvdWQpLFxuICAgIHZhcigtLXNiYi1jb2xvci1taWRuaWdodClcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja2dyb3VuZC1mb2N1czogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3Itc2lsdmVyKSxcbiAgICB2YXIoLS1zYmItY29sb3ItYmxhY2spXG4gICk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBiYWNrcmVzdCB3aXRoIHN0YXRlIEZSRUVcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja3Jlc3QtYmFja2dyb3VuZC1kZWZhdWx0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1iYWNrZ3JvdW5kLWhvdmVyOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1iYWNrZ3JvdW5kLWZvY3VzOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuXG4gIC8vIENvbG9yIGJhY2tncm91bmQgZGVmaW5pdGlvbiBmb3IgcGxhY2Ugd2l0aCBzdGF0ZSBTRUxFQ1RFRFxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtc2VsZWN0ZWQtYmFja2dyb3VuZC1kZWZhdWx0OiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeSk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeTEyNSk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWZvY3VzOiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeTE1MCk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBiYWNrcmVzdCB3aXRoIHN0YXRlIFNFTEVDVEVEXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrcmVzdC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcihcbiAgICAtLXNiYi1jb2xvci1wcmltYXJ5MTUwXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrcmVzdC1iYWNrZ3JvdW5kLWhvdmVyOiAjN2QwMDBmO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtc2VsZWN0ZWQtYmFja3Jlc3QtYmFja2dyb3VuZC1mb2N1czogIzVhMDAwYjtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIHBsYWNlIHdpdGggc3RhdGUgQUxMT0NBVEVEXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtYmFja2dyb3VuZC1kZWZhdWx0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1taWxrKSxcbiAgICB2YXIoLS1zYmItY29sb3ItbWlkbmlnaHQpXG4gICk7XG5cbiAgLy8gQ29sb3IgZGVmaW5pdGlvbnMgZm9yIGhpZ2ggY29udHJhc3QgbW9kZVxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0OiBDYW52YXNUZXh0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3Q6IENhbnZhcztcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtdGV4dC1oaWdoLWNvbnRyYXN0OiBCdXR0b25UZXh0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1pY29uLWhpZ2gtY29udHJhc3Q6IENhbnZhc1RleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtYmFja3Jlc3QtaGlnaC1jb250cmFzdDogR3JheVRleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtYmFja2dyb3VuZC1oaWdoLWNvbnRyYXN0OiBDYW52YXM7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtdGV4dC1oaWdoLWNvbnRyYXN0OiBHcmF5VGV4dDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1pY29uLWhpZ2gtY29udHJhc3Q6IEdyYXlUZXh0O1xuXG4gIHdpZHRoOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXdpZHRoKSk7XG4gIGhlaWdodDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0odmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1oZWlnaHQpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1zdGFydDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0odmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10b3ApKTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWxlZnQpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xufVxuXG46aG9zdCg6aG92ZXIpIHtcbiAgLnNiYi1zci1wbGFjZS1jdHJsIHtcbiAgICAmLS1zdGF0ZS1mcmVlOm5vdCgjeyRkaXNhYmxlZH0pIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yaXplUGxhY2UoJ2ZyZWUnLCAnaG92ZXInKTtcbiAgICB9XG5cbiAgICAmLS1zdGF0ZS1zZWxlY3RlZDpub3QoI3skZGlzYWJsZWR9KSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdzZWxlY3RlZCcsICdob3ZlcicpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAuc2JiLXNyLXBsYWNlLWN0cmwge1xuICAgICYtLXN0YXRlLWZyZWU6bm90KCN7JGRpc2FibGVkfSkge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnZnJlZScsICdmb2N1cycpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCg6YWN0aXZlKSB7XG4gIC5zYmItc3ItcGxhY2UtY3RybCB7XG4gICAgJi0tc3RhdGUtc2VsZWN0ZWQ6bm90KCN7JGRpc2FibGVkfSkge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnc2VsZWN0ZWQnLCAnZm9jdXMnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gcm90YXRlcyB0aGUgRE9NLXBhcnQgXCJzdmctcGxhY2VcIiBieSAxODAgZGVncmVlcyBpZiB0aGUgaG9zdCBpcyBpbiBSVEwgbW9kZS5cbkBpbmNsdWRlIHNiYi1zci1taXhpbnMucm90YXRlLWRvbS1wYXJ0KHN2Zy1wbGFjZSk7XG5cbi5zYmItc3ItcGxhY2UtY3RybCB7XG4gICRyb290OiAmO1xuXG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zaXplKSk7XG5cbiAgJi0tc3RhdGUtZnJlZSB7XG4gICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnZnJlZScsICdkZWZhdWx0Jyk7XG4gIH1cblxuICAmLS1zdGF0ZS1zZWxlY3RlZCB7XG4gICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnc2VsZWN0ZWQnLCAnZGVmYXVsdCcpO1xuICB9XG5cbiAgJi0tc3RhdGUtYWxsb2NhdGVkLFxuICAmLS1zdGF0ZS1yZXN0cmljdGVkIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdhbGxvY2F0ZWQnLCAnZGVmYXVsdCcpO1xuXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDUwJTtcbiAgICB0cmFuc2xhdGU6IC01MCUgLTUwJTtcbiAgICByb3RhdGU6IGNhbGModmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXJvdGF0aW9uKSAqIDFkZWcpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zYmItdHlwby1mb250LWZhbWlseSk7XG5cbiAgICAvLyBkb250IHVzZSBzYmIucHgtdG8tcmVtIG9yIC0tc2JiLXR5cG8tc2NhbGUtMC03NXg7IHdlIHdhbnQgXCJlbVwiIGluIHRoaXMgY2FzZSFcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcblxuICAgICN7JHJvb3R9LS1zdGF0ZS1mcmVlICYsXG4gICAgI3skcm9vdH0tLXN0YXRlLWFsbG9jYXRlZCAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICN7JHJvb3R9LS10eXBlLWJpY3ljbGUgJiB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNjUlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCU7XG5cbiAgICAgIC8vIFdlIG5lZWQgdG8gYWRqdXN0IHRyYW5zZm9ybSBvcmlnaW4gcG9pbnQgZm9yIGJpY3ljbGUgcGxhY2VzIHRleHQgKG5lY2Vzc2FyeSBmb3Igcm90YXRpb24pLFxuICAgICAgLy8gYmVjYXVzZSB0aGUgcG9zaXRpb24gb2YgcGxhY2UgbnVtYmVyIGlzIG5vdCBjZW50ZXJlZCBpbiB0aGUgcGxhY2UgYXJlYS5cbiAgICAgIC8vIFRoZSB2YWx1ZSAxNiUgaXMgdGhlIG9wdGltYWwgdmFsdWUgZm9yIHRoZSByb3RhdGlvbiBvZmZzZXQgb24gdGhlIG9yaWdpbiB5LWF4aXMuXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgMTYlO1xuXG4gICAgICAvLyB1c2UgYSBzbWFsbGVyIGZvbnQtc2l6ZSB0byBhdm9pZCBhMTF5IHZpb2xhdGlvblxuICAgICAgZm9udC1zaXplOiAwLjY4NzVlbTtcbiAgICB9XG5cbiAgICAvLyBEZXBlbmRpbmcgb24gdGhlIHBsYWNlIG9yaWVudGF0aW9uLCBtaW5vciBwb3NpdGlvbmluZyBhZGp1c3RtZW50cyBtYXkgbmVlZCB0byBiZSBtYWRlIHRvIGNlbnRlciB0aGUgdGV4dCxcbiAgICAvLyBiZWNhdXNlIG9mIHRoZSB3aWR0aCBvZiB0aGUgU1ZHIHdoaWNoIGlzIG5vdCBzcXVhcmVcbiAgICAjeyRyb290fS0tb3JpZW50YXRpb24tMCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDQ1JTtcbiAgICB9XG5cbiAgICAjeyRyb290fS0tb3JpZW50YXRpb24tOTAjeyRyb290fS0tdHlwZS1zZWF0ICYge1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDQ2JTtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgIH1cblxuICAgICN7JHJvb3R9LS1vcmllbnRhdGlvbi0xODAjeyRyb290fS0tdHlwZS1zZWF0ICYge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1NSU7XG4gICAgfVxuXG4gICAgI3skcm9vdH0tLW9yaWVudGF0aW9uLTI3MCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNTIlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MiU7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KDpkaXIocnRsKSkge1xuICAvLyBGb3IgUlRMLCB3ZSBuZWVkIHRvIGFkanVzdCB0aGUgdGV4dCBwb3NpdGlvbiB0byB0aGUgcmlnaHQgc2lkZVxuICAuc2JiLXNyLXBsYWNlLWN0cmwge1xuICAgICYtLW9yaWVudGF0aW9uLTAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogMyU7XG4gICAgfVxuXG4gICAgJi0tb3JpZW50YXRpb24tOTAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0LFxuICAgICYtLW9yaWVudGF0aW9uLTE4MCAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMCU7XG4gICAgfVxuXG4gICAgJi0tb3JpZW50YXRpb24tMjcwIC5zYmItc3ItcGxhY2UtY3RybF9fdGV4dCB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUlO1xuICAgIH1cblxuICAgICYtLXR5cGUtYmljeWNsZSAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAtMTAlO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAuanMnO1xuXG5pbXBvcnQgeyBnZXRJMThuU2VhdFJlc2VydmF0aW9uIH0gZnJvbSAnLi4vY29tbW9uL3RyYW5zbGF0aW9ucy50cyc7XG5pbXBvcnQgdHlwZSB7IFBsYWNlU2VsZWN0aW9uLCBQbGFjZVN0YXRlLCBQbGFjZVR5cGUsIFRyYXZlbERpcmVjdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90eXBlcy50cyc7XG5pbXBvcnQgeyBTYmJTZWF0UmVzZXJ2YXRpb25HcmFwaGljRWxlbWVudCB9IGZyb20gJy4uL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy9zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLnNjc3M/aW5saW5lJztcblxudHlwZSBUcmF2ZWxEaXJlY3Rpb25JMThuS2V5ID1cbiAgfCAnVFJBVkVMX0RJUkVDVElPTl9JTl9ESVJFQ1RJT04nXG4gIHwgJ1RSQVZFTF9ESVJFQ1RJT05fSU5fT1BQT1NJVEVfRElSRUNUSU9OJ1xuICB8ICdUUkFWRUxfRElSRUNUSU9OX1RSQU5TVkVSU0VMWSc7XG5cbmV4cG9ydCBjbGFzcyBTYmJQbGFjZVNlbGVjdGlvbkV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXRhaWw6IFBsYWNlU2VsZWN0aW9uO1xuXG4gIHB1YmxpYyBnZXQgZGV0YWlsKCk6IFBsYWNlU2VsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fZGV0YWlsO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGRldGFpbDogUGxhY2VTZWxlY3Rpb24pIHtcbiAgICBzdXBlcignc2VsZWN0cGxhY2UnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pO1xuICAgIHRoaXMuX2RldGFpbCA9IGRldGFpbDtcbiAgfVxufVxuXG4vKipcbiAqIE91dHB1dCB0aGUgZ3JhcGhpYyBvZiBhIHNlYXQgb3IgYSBiaWN5Y2xlIHBsYWNlIGFzIGEgY29udHJvbCBlbGVtZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2JiU2VhdFJlc2VydmF0aW9uUGxhY2VDb250cm9sRWxlbWVudCBleHRlbmRzIFNiYkJ1dHRvbkJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiU2VhdFJlc2VydmF0aW9uR3JhcGhpY0VsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdHBsYWNlOiAnc2VsZWN0cGxhY2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBwbGFjZVR5cGUgb2YgdGhlIHBsYWNlLCBlLmcuICdTRUFUJywgJ0JJQ1lDTEUnICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0eXBlJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGxhY2VUeXBlOiBQbGFjZVR5cGUgPSAnU0VBVCc7XG5cbiAgLyoqIHN0YXRlIG9mIHRoZSBwbGFjZSwgZS5nLiAnRlJFRScsICdTRUxFQ1RFRCcsICdCTE9DS0VEJyAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc3RhdGUnLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzdGF0ZTogUGxhY2VTdGF0ZSA9ICdGUkVFJztcblxuICAvKiogZGlyZWN0aW9uIG9mIGEgd2hvbGUgdHJhaW4sIHVzZWQgdG8gY29tcHV0ZSBhbiBvcmllbnRhdGlvbiBvZiBhIHBsYWNlICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RyYXZlbC1kaXJlY3Rpb24nIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmF2ZWxEaXJlY3Rpb246IFRyYXZlbERpcmVjdGlvbiA9ICdOT05FJztcblxuICAvKiogcHJvcGVydHkgaWRzIG9mIHRoZSBwbGFjZSwgdG8gZGlzcGxheSBtb3JlIGluZm8gYWJvdXQgdGhlIHBsYWNlICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3Byb3BlcnR5SWRzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHByb3BlcnR5SWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBsYWJlbCBvZiB0aGUgcGxhY2UsIGUuZy4gJzFBJywgJzJCJyAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGV4dCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBEZWNrIEluZGV4IFByb3AgdG8gaWRlbnRpZmllciB0aGUgcmlnaHQgcGxhY2UgdG8gZGVjayAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGVjay1pbmRleCcsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGVja0luZGV4OiBudW1iZXIgPSBudWxsITtcblxuICAvKiogQ29hY2ggSW5kZXggUHJvcCB0byBpZGVudGlmaWVyIHRoZSByaWdodCBwbGFjZSB0byBjb2FjaCAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY29hY2gtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvYWNoSW5kZXg6IG51bWJlciA9IG51bGwhO1xuXG4gIC8qKiBQcmV2ZW50IGNsaWNrIHByb3AgcHJldmVudCBhbnkgcGxhY2UgYWN0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwcmV2ZW50LWNsaWNrJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcHJldmVudENsaWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNldCB0aGUgcGxhY2UgZm9jdXMgb3V0bGluZSBzdHlsZSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAna2V5Zm9jdXMnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBrZXlmb2N1czogc3RyaW5nID0gJ3VuZm9jdXMnO1xuXG4gIC8qKiBEaXNhYmxlIHRoZSBtb3VzZSBvdmVyIHRpdGxlIGluZm9ybWF0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCB1c2VEZWZhdWx0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaG93VGl0bGVJbmZvOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLl9zZWxlY3RQbGFjZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygna2V5Zm9jdXMnKSkge1xuICAgICAgaWYgKHRoaXMua2V5Zm9jdXMgPT09ICdmb2N1cycpIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IHRoaXMuX2dldFBsYWNlU3ZnKHRoaXMucGxhY2VUeXBlLCB0aGlzLnN0YXRlKTtcbiAgICBjb25zdCB0eXBlOiBzdHJpbmcgPSB0aGlzLnR5cGUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBzdGF0ZTogc3RyaW5nID0gdGhpcy5zdGF0ZS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHRleHQ6IHN0cmluZyB8IG51bGwgPSB0aGlzLnRleHQ7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtd2lkdGgnKTtcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtaGVpZ2h0Jyk7XG4gICAgY29uc3Qgcm90YXRpb24gPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtcm90YXRpb24nKTtcbiAgICBjb25zdCB0ZXh0Um90YXRpb24gPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKFxuICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXJvdGF0aW9uJyxcbiAgICApO1xuICAgIGNvbnN0IGludmVyc2VSb3RhdGlvblBsYWNlQ2hlY2tJY29uID0gTnVtYmVyKHRleHRSb3RhdGlvbikgLSBOdW1iZXIocm90YXRpb24pO1xuICAgIGNvbnN0IGRpc2FibGVkQ2xhc3MgPSB0aGlzLnByZXZlbnRDbGljayA/ICdzYmItcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0tZGlzYWJsZWQnIDogbnVsbDtcbiAgICBjb25zdCBwbGFjZURlc2NyaXB0aW9uID0gdGhpcy5fZ2V0VGl0bGVEZXNjcmlwdGlvblBsYWNlKHJvdGF0aW9uKTtcblxuICAgIC8vIG9ubHkgc2V0IHRpdGxlIHRvIHRoZSBTYmJCdXR0b25CYXNlRWxlbWVudCBpZiByZXF1ZXN0ZWQ7IG90aGVyd2lzZSBwcm92aWRlIHRoZSB0aXRsZVxuICAgIC8vIGluZm9ybWF0aW9uIHRvIHNjcmVlbiByZWFkZXJzIHZpYSBhcmlhLWxhYmVsIGF0IGhvc3QgZWxlbWVudFxuICAgIGlmICh0aGlzLnNob3dUaXRsZUluZm8pIHtcbiAgICAgIHRoaXMudGl0bGUgPSBwbGFjZURlc2NyaXB0aW9uO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2V0IGFyaWEtbGFiZWwgc2NyZWVuIHJlYWRlciBpbmZvXG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWwgPSBwbGFjZURlc2NyaXB0aW9uO1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RpdGxlJyk7XG4gICAgfVxuXG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuXG4gICAgcmV0dXJuIGh0bWxgIDxkaXZcbiAgICAgIHBhcnQ9XCJzYmItc3ItcGxhY2UtcGFydFwiXG4gICAgICBjbGFzcz1cInNiYi1zci1wbGFjZS1jdHJsIHNiYi1zci1wbGFjZS1jdHJsLS1vcmllbnRhdGlvbi0ke3JvdGF0aW9ufSBzYmItc3ItcGxhY2UtY3RybC0tc3RhdGUtJHtzdGF0ZX0gc2JiLXNyLXBsYWNlLWN0cmwtLXR5cGUtJHt0eXBlfSAke2Rpc2FibGVkQ2xhc3N9XCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPHNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWNcbiAgICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7XG4gICAgICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy13aWR0aCc6IHdpZHRoLFxuICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaGVpZ2h0JzogaGVpZ2h0LFxuICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtcm90YXRpb24nOiByb3RhdGlvbixcbiAgICAgICAgICAnLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWludmVyc2Utcm90YXRpb24nOiBpbnZlcnNlUm90YXRpb25QbGFjZUNoZWNrSWNvbixcbiAgICAgICAgfSl9XG4gICAgICAgIC5uYW1lPSR7bmFtZX1cbiAgICAgID48L3NiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWM+XG4gICAgICA8c3BhbiAke3RoaXMudGV4dCA/PyBub3RoaW5nfSBjbGFzcz1cInNiYi1zci1wbGFjZS1jdHJsX190ZXh0XCI+JHt0ZXh0fSA8L3NwYW4+XG4gICAgPC9kaXY+YDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBsYWNlU3ZnKHR5cGU6IFBsYWNlVHlwZSwgc3RhdGU6IFBsYWNlU3RhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlIGFzIHN0cmluZztcbiAgICBjb25zdCBzdGF0ZVN0cmluZyA9IHN0YXRlIGFzIHN0cmluZztcbiAgICByZXR1cm4gYFBMQUNFXyR7dHlwZVN0cmluZ31fJHtzdGF0ZVN0cmluZ31gO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VGl0bGVEZXNjcmlwdGlvblBsYWNlKHJvdGF0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gJ1BMQUNFX0NPTlRST0xfJyArIHRoaXMudHlwZSArICdfJyArIHRoaXMuc3RhdGU7XG4gICAgbGV0IGRlc2NyaXB0aW9uID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbih0cmFuc2xhdGlvbktleSwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCwgW3RoaXMudGV4dF0pO1xuXG4gICAgY29uc3QgcmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24gPSB0aGlzLl9nZXRSZWxhdGl2ZVRyYXZlbERpcmVjdGlvbihyb3RhdGlvbik7XG5cbiAgICBpZiAodGhpcy5wcm9wZXJ0eUlkcy5sZW5ndGggfHwgcmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24pIHtcbiAgICAgIGRlc2NyaXB0aW9uICs9XG4gICAgICAgICcuICcgKyBnZXRJMThuU2VhdFJlc2VydmF0aW9uKCdQTEFDRV9QUk9QRVJUWScsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpLmNvbmNhdCgnOiAnKTtcblxuICAgICAgZGVzY3JpcHRpb24gKz0gW3JlbGF0aXZlVHJhdmVsRGlyZWN0aW9uLCAuLi50aGlzLnByb3BlcnR5SWRzXVxuICAgICAgICAubWFwKChwcm9wZXJ0eUlkKSA9PlxuICAgICAgICAgIGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oJ1BMQUNFX1BST1BFUlRJRVMuJyArIHByb3BlcnR5SWQsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpLFxuICAgICAgICApXG4gICAgICAgIC5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSlcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlc2NyaXB0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24oXG4gICAgcm90YXRpb25WYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICApOiBUcmF2ZWxEaXJlY3Rpb25JMThuS2V5IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy50cmF2ZWxEaXJlY3Rpb24gfHxcbiAgICAgIHRoaXMudHJhdmVsRGlyZWN0aW9uID09PSAnTk9ORScgfHxcbiAgICAgIHRoaXMucGxhY2VUeXBlICE9PSAnU0VBVCcgfHxcbiAgICAgICFyb3RhdGlvblZhbHVlXG4gICAgKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCByb3RhdGlvbiA9IE51bWJlcihyb3RhdGlvblZhbHVlKTtcblxuICAgIGlmIChyb3RhdGlvbiA9PT0gOTAgfHwgcm90YXRpb24gPT09IDI3MCkge1xuICAgICAgcmV0dXJuICdUUkFWRUxfRElSRUNUSU9OX1RSQU5TVkVSU0VMWSc7XG4gICAgfVxuXG4gICAgY29uc3QgaW5EaXJlY3Rpb24gPVxuICAgICAgKHJvdGF0aW9uID09PSAwICYmIHRoaXMudHJhdmVsRGlyZWN0aW9uID09PSAnUklHSFQnKSB8fFxuICAgICAgKHJvdGF0aW9uID09PSAxODAgJiYgdGhpcy50cmF2ZWxEaXJlY3Rpb24gPT09ICdMRUZUJyk7XG5cbiAgICBpZiAoaW5EaXJlY3Rpb24pIHtcbiAgICAgIHJldHVybiAnVFJBVkVMX0RJUkVDVElPTl9JTl9ESVJFQ1RJT04nO1xuICAgIH0gZWxzZSBpZiAocm90YXRpb24gPT09IDAgfHwgcm90YXRpb24gPT09IDE4MCkge1xuICAgICAgcmV0dXJuICdUUkFWRUxfRElSRUNUSU9OX0lOX09QUE9TSVRFX0RJUkVDVElPTic7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKiBJZiB0aGUgcGxhY2Ugc2VsZWN0YWJsZSwgd2UgZW1pdCB0aGUgcGxhY2VTZWxlY3Rpb24gb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZm9zIHRvIHRoZSBwbGFjZSBzdGF0ZSAqL1xuICBwcml2YXRlIF9zZWxlY3RQbGFjZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RhYmxlID0gKHRoaXMuc3RhdGUgPT09ICdGUkVFJyB8fCB0aGlzLnN0YXRlID09PSAnU0VMRUNURUQnKSAmJiAhdGhpcy5wcmV2ZW50Q2xpY2s7XG5cbiAgICBpZiAoc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5zdGF0ZSA9IHRoaXMuc3RhdGUgPT09ICdGUkVFJyA/ICdTRUxFQ1RFRCcgOiAnRlJFRSc7XG5cbiAgICAgIC8vIEZJWE1FOiB0aGUgbmFtZSBvZiB0aGlzIHZhcmlhYmxlIGFwcGVhcnMgYXMgZXZlbnQgbmFtZSBpbiB0aGUgcmVhZG1lXG4gICAgICAvLyAgZHVlIHRvIGEgYnVnIGluIHRoZSBjdXN0b20tZWxlbWVudHMtbWFuaWZlc3QgbGlicmFyeS5cbiAgICAgIC8vICBodHRwczovL2dpdGh1Yi5jb20vb3Blbi13Yy9jdXN0b20tZWxlbWVudHMtbWFuaWZlc3QvaXNzdWVzLzE0OVxuICAgICAgY29uc3Qgc2VsZWN0cGxhY2U6IFBsYWNlU2VsZWN0aW9uID0ge1xuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgZGVja0luZGV4OiB0aGlzLmRlY2tJbmRleCxcbiAgICAgICAgY29hY2hJbmRleDogdGhpcy5jb2FjaEluZGV4LFxuICAgICAgICBudW1iZXI6IHRoaXMudGV4dCxcbiAgICAgICAgc3RhdGU6IHRoaXMuc3RhdGUsXG4gICAgICAgIHBsYWNlVHlwZTogdGhpcy5wbGFjZVR5cGUsXG4gICAgICB9O1xuXG4gICAgICAvKipcbiAgICAgICAqIEB0eXBlIHtTYmJQbGFjZVNlbGVjdGlvbkV2ZW50fVxuICAgICAgICogRW1pdHMgd2hlbiBhIHBsYWNlIHdhcyBzZWxlY3RlZCB2aWEgdXNlciBpbnRlcmFjdGlvbiBhbmQgcmV0dXJucyBhXG4gICAgICAgKiBQbGFjZVNlbGVjdGlvbiBvYmplY3Qgd2l0aCBuZWNlc3NhcnkgcGxhY2UgaW5mb3JtYXRpb24uXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiUGxhY2VTZWxlY3Rpb25FdmVudChzZWxlY3RwbGFjZSkpO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbCc6IFNiYlNlYXRSZXNlcnZhdGlvblBsYWNlQ29udHJvbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUM0QkEsSUFBYSx5QkFBYixjQUE0QyxNQUFLO0NBRy9DLElBQVcsU0FBTTtFQUNmLE9BQU8sS0FBSztDQUNkO0NBRUEsWUFBbUIsUUFBc0I7RUFDdkMsTUFBTSxlQUFlO0dBQUUsU0FBUztHQUFNLFVBQVU7RUFBSSxDQUFFO0VBQ3RELEtBQUssVUFBVTtDQUNqQjs7Ozs7SUFNVywrQ0FBcUM7bUJBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FBOUMsOENBQThDLFlBQW9COzs7NEJBUzVFLFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyxPQUFNLENBQUUsQ0FBQzt3QkFJL0IsVUFBUyxHQUNULFNBQVM7SUFBRSxXQUFXO0lBQVMsU0FBUztHQUFJLENBQUUsQ0FBQztrQ0FJL0MsU0FBUyxFQUFFLFdBQVcsbUJBQWtCLENBQUUsQ0FBQzs4QkFJM0MsU0FBUztJQUFFLFdBQVc7SUFBZSxNQUFNO0dBQUssQ0FBRSxDQUFDO3VCQUluRCxVQUFTLEdBQ1QsU0FBUyxFQUFFLFdBQVcsT0FBTSxDQUFFLENBQUM7NEJBSS9CLFVBQVMsR0FDVCxTQUFTO0lBQUUsV0FBVztJQUFjLE1BQU07R0FBTSxDQUFFLENBQUM7NkJBSW5ELFVBQVMsR0FDVCxTQUFTO0lBQUUsV0FBVztJQUFlLE1BQU07R0FBTSxDQUFFLENBQUM7K0JBSXBELFVBQVMsR0FDVCxTQUFTO0lBQUUsV0FBVztJQUFpQixNQUFNO0dBQU8sQ0FBRSxDQUFDOzJCQUl2RCxVQUFTLEdBQ1QsU0FBUyxFQUFFLFdBQVcsV0FBVSxDQUFFLENBQUM7Z0NBSW5DLFVBQVMsR0FDVCxTQUFTO0lBQUUsTUFBTTtJQUFTLFlBQVk7R0FBSSxDQUFFLENBQUM7R0ExQzlDLGFBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJ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
|