PGh0bWw+CjxoZWFkPgo8c3R5bGU+CmRpdi50ZXN0IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDI1MHB4OwogICAgdG9wOiAxMDBweDsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdGFycy5naWYpO8oKfQo8L3N0eWxlPgo8c2NyaXB0PgpmdW5jdGlvbiBydW5UZXN0KCkgCnsKCXZhciBoZWxsb1RleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGVsbG8iKTsKCXZhciBwb3NpdGlvbkZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlIHBvc2l0aW9uIik7IAoJdmFyIHBvc2l0aW9uID0gNTAuMDsKCQoJdmFyIHRleHRSdWxlID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uY3NzUnVsZXNbMF07Cgl2YXIgcyA9IHRleHRSdWxlLnN0eWxlOwoJdmFyIGxlZnRWYWx1ZSA9IHMuZ2V0UHJvcGVydHlDU1NWYWx1ZSgibGVmdCIpOwoJdmFyIGJnSW1hZ2VWYWx1ZSA9IHMuZ2V0UHJvcGVydHlDU1NWYWx1ZSgiYmFja2dyb3VuZC1pbWFnZSIpOwoJCgl0cnkKCXsKCQlsZWZ0VmFsdWUuc2V0RmxvYXRWYWx1ZShsZWZ0VmFsdWUucHJpbWl0aXZlVHlwZSwgcGFyc2VGbG9hdChwb3NpdGlvbikpOwoJfQoJY2F0Y2ggKGUpCgl7CgkJYWxlcnQoInNldEZsb2F0VmFsdWUgIiArIGUubWVzc2FnZSk7Cgl9CQoKCXRyeQoJewoJCWJnSW1hZ2VWYWx1ZS5zZXRTdHJpbmdWYWx1ZShiZ0ltYWdlVmFsdWUucHJpbWl0aXZlVHlwZSwgInN0cmlwZXMuZ2lmIik7Cgl9CgljYXRjaCAoZSkKCXsKCQlhbGVydCgic2V0U3RyaW5nVmFsdWUgIiArIGUubWVzc2FnZSk7Cgl9CQp9Cgo8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgpUaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBwcmltaXRpdmUgQ1NTIHZhbHVlcyBjYW4gYmUgc2V0IHdpdGhvdXQgZ2VuZXJhdGluZyBhbiBleGNlcHRpb24uCjxkaXYgY2xhc3M9InRlc3QiIGlkPSJoZWxsbyI+SGVsbG8gd29ybGQ8L2Rpdj4KPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CjwvYm9keT4KPC9odG1sPgoK