Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKiAgTG9jYWxpemF0aW9uIG9mIGxhYmVsbGVycy5qcwogKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqLwoKVGltZWxpbmUuR3JlZ29yaWFuRGF0ZUxhYmVsbGVyLm1vbnRoTmFtZXNbInZpIl0gPSBbCiAgICAiVGjhbmcgMSIsICJUaOFuZyAyIiwgIlRo4W5nIDMiLCAiVGjhbmcgNCIsICJUaOFuZyA1IiwgIlRo4W5nIDYiLCAiVGjhbmcgNyIsICJUaOFuZyA4IiwgIlRo4W5nIDkiLCAiVGjhbmcgMTAiLCAiVGjhbmcgMTEiLCAiVGjhbmcgMTIiCl07CgpUaW1lbGluZS5HcmVnb3JpYW5EYXRlTGFiZWxsZXIubGFiZWxJbnRlcnZhbEZ1bmN0aW9uc1sidmkiXSA9IGZ1bmN0aW9uKGRhdGUsIGludGVydmFsVW5pdCkgewogICAgdmFyIHRleHQ7CiAgICB2YXIgZW1waGFzaXplZCA9IGZhbHNlOwogICAgCiAgICB2YXIgZGF0ZTIgPSBUaW1lbGluZS5EYXRlVGltZS5yZW1vdmVUaW1lWm9uZU9mZnNldChkYXRlLCB0aGlzLl90aW1lWm9uZSk7CiAgICAKICAgIHN3aXRjaChpbnRlcnZhbFVuaXQpIHsKICAgIGNhc2UgVGltZWxpbmUuRGF0ZVRpbWUuREFZOgogICAgY2FzZSBUaW1lbGluZS5EYXRlVGltZS5XRUVLOgogICAgICAgIHRleHQgPSBkYXRlMi5nZXRVVENEYXRlKCkgKyAiLyIgKyAoZGF0ZTIuZ2V0VVRDTW9udGgoKSArIDEpOwogICAgICAgIGJyZWFrOwogICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0TGFiZWxJbnRlcnZhbChkYXRlLCBpbnRlcnZhbFVuaXQpOwogICAgfQogICAgCiAgICByZXR1cm4geyB0ZXh0OiB0ZXh0LCBlbXBoYXNpemVkOiBlbXBoYXNpemVkIH07Cn07Cg==