PGRpdiBjbGFzcz0nb3h5LXBvc3QnPgogIAogIAk8ZGl2IGNsYXNzPSdveHktcG9zdC13cmFwcGVyJz4KICAKICAgICAgICA8YSBjbGFzcz0nb3h5LXBvc3QtaW1hZ2UnIGhyZWY9Jzw/cGhwIHRoZV9wZXJtYWxpbmsoKTsgPz4nPgogICAgICAgICAgPGRpdiBjbGFzcz0nb3h5LXBvc3QtaW1hZ2UtZml4ZWQtcmF0aW8nIHN0eWxlPSdiYWNrZ3JvdW5kLWltYWdlOiB1cmwoPD9waHAgZWNobyBnZXRfdGhlX3Bvc3RfdGh1bWJuYWlsX3VybCgpOyA/Pik7Jz4KCQkJPGRpdiBjbGFzcz0nb3h5LXBvc3QtY3VzdG9tLWRhdGUnPgogICAgICAgICAgICAJPHA+PD9waHAKICAgICAgICAgICAgICAgICAgCSRkYXRlID0gZ2V0X2ZpZWxkKCdkYXRlX3RleHQnKTsKICAgCQkJCQkkdGltZSA9IHN0cnRvdGltZSggZ2V0X2ZpZWxkKCAnZGF0ZScgKSApOwogICAJCQkJCS8vZWNobyAnPHNwYW4gY2xhc3M9ImRheSI+JyAuIGRhdGUoICdkJywgJHRpbWUgKSAuICc8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgCQkvLzxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPHNwYW4gY2xhc3M9Im1vbnRoIj4nIC4gZGF0ZSggJ00nLCAkdGltZSApIC4gJzwvc3Bhbj4nOwogICAgICAgICAgICAgICAgICAJZWNobyAkZGF0ZTsKIAkJCQk/PjwvcD4KICAgICAgICAgIAk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvYT4KICAgICAgCiAgICAgIAk8ZGl2IGNsYXNzPSdveHktcG9zdC10ZXh0Jz4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSdveHktcG9zdC1oZWFkaW5nJz4KICAgICAgICAgIAk8YSBjbGFzcz0nb3h5LXBvc3QtdGl0bGUnIGhyZWY9Jzw/cGhwIHRoZV9wZXJtYWxpbmsoKTsgPz4nPjw/cGhwIHRoZV90aXRsZSgpOyA/PjwvYT4KICAgICAgICAgIDwvZGl2PiAgICAgICAgIAogICAgICAgICAgCiAgICAgIAk8L2Rpdj4KICAgICAgCiAJIDwvZGl2PgoKPC9kaXY+ PGRpdiBjbGFzcz0nb3h5LXBvc3QnPgogIAogIAk8ZGl2IGNsYXNzPSdveHktcG9zdC13cmFwcGVyJz4KICAKICAgICAgICA8YSBjbGFzcz0nb3h5LXBvc3QtaW1hZ2UnIGhyZWY9Jzw/cGhwIHRoZV9wZXJtYWxpbmsoKTsgPz4nPgogICAgICAgICAgPGRpdiBjbGFzcz0nb3h5LXBvc3QtaW1hZ2UtZml4ZWQtcmF0aW8nIHN0eWxlPSdiYWNrZ3JvdW5kLWltYWdlOiB1cmwoPD9waHAgZWNobyBnZXRfdGhlX3Bvc3RfdGh1bWJuYWlsX3VybCgpOyA/Pik7Jz4KCQkJPGRpdiBjbGFzcz0nb3h5LXBvc3QtY3VzdG9tLWRhdGUnPgogICAgICAgICAgICAJPHA+PD9waHAKICAgICAgICAgICAgICAgICAgCSRkYXRlID0gZ2V0X2ZpZWxkKCdkYXRlX3RleHQnKTsKICAgCQkJCQkkdGltZSA9IHN0cnRvdGltZSggZ2V0X2ZpZWxkKCAnZGF0ZScgKSApOwogICAJCQkJCS8vZWNobyAnPHNwYW4gY2xhc3M9ImRheSI+JyAuIGRhdGUoICdkJywgJHRpbWUgKSAuICc8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgCQkvLzxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPHNwYW4gY2xhc3M9Im1vbnRoIj4nIC4gZGF0ZSggJ00nLCAkdGltZSApIC4gJzwvc3Bhbj4nOwogICAgICAgICAgICAgICAgICAJZWNobyAkZGF0ZTsKIAkJCQk/PjwvcD4KICAgICAgICAgIAk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvYT4KICAgICAgCiAgICAgIAk8ZGl2IGNsYXNzPSdveHktcG9zdC10ZXh0Jz4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSdveHktcG9zdC1oZWFkaW5nJz4KICAgICAgICAgIAk8YSBjbGFzcz0nb3h5LXBvc3QtdGl0bGUnIGhyZWY9Jzw/cGhwIHRoZV9wZXJtYWxpbmsoKTsgPz4nPjw/cGhwIHRoZV90aXRsZSgpOyA/PjwvYT4KICAgICAgICAgIDwvZGl2PiAgICAgICAgIAogICAgICAgICAgCiAgICAgIAk8L2Rpdj4KICAgICAgCiAJIDwvZGl2PgoKPC9kaXY+ PGRpdiBjbGFzcz0nb3h5LXBvc3QnPgogIAogIAk8ZGl2IGNsYXNzPSdveHktcG9zdC13cmFwcGVyJz4KICAKICAgICAgICA8YSBjbGFzcz0nb3h5LXBvc3QtaW1hZ2UnIGhyZWY9Jzw/cGhwIHRoZV9wZXJtYWxpbmsoKTsgPz4nPgogICAgICAgICAgPGRpdiBjbGFzcz0nb3h5LXBvc3QtaW1hZ2UtZml4ZWQtcmF0aW8nIHN0eWxlPSdiYWNrZ3JvdW5kLWltYWdlOiB1cmwoPD9waHAgZWNobyBnZXRfdGhlX3Bvc3RfdGh1bWJuYWlsX3VybCgpOyA/Pik7Jz4KCQkJPGRpdiBjbGFzcz0nb3h5LXBvc3QtY3VzdG9tLWRhdGUnPgogICAgICAgICAgICAJPHA+PD9waHAKICAgICAgICAgICAgICAgICAgCSRkYXRlID0gZ2V0X2ZpZWxkKCdkYXRlX3RleHQnKTsKICAgCQkJCQkkdGltZSA9IHN0cnRvdGltZSggZ2V0X2ZpZWxkKCAnZGF0ZScgKSApOwogICAJCQkJCS8vZWNobyAnPHNwYW4gY2xhc3M9ImRheSI+JyAuIGRhdGUoICdkJywgJHRpbWUgKSAuICc8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgCQkvLzxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPHNwYW4gY2xhc3M9Im1vbnRoIj4nIC4gZGF0ZSggJ00nLCAkdGltZSApIC4gJzwvc3Bhbj4nOwogICAgICAgICAgICAgICAgICAJZWNobyAkZGF0ZTsKIAkJCQk/PjwvcD4KICAgICAgICAgIAk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvYT4KICAgICAgCiAgICAgIAk8ZGl2IGNsYXNzPSdveHktcG9zdC10ZXh0Jz4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSdveHktcG9zdC1oZWFkaW5nJz4KICAgICAgICAgIAk8YSBjbGFzcz0nb3h5LXBvc3QtdGl0bGUnIGhyZWY9Jzw/cGhwIHRoZV9wZXJtYWxpbmsoKTsgPz4nPjw/cGhwIHRoZV90aXRsZSgpOyA/PjwvYT4KICAgICAgICAgIDwvZGl2PiAgICAgICAgIAogICAgICAgICAgCiAgICAgIAk8L2Rpdj4KICAgICAgCiAJIDwvZGl2PgoKPC9kaXY+
PD9waHAgCgovLyBhcmdzCiRhcmdzID0gYXJyYXkoCgkncG9zdF90eXBlJwkJPT4gJ2V2ZW50cycKKTsKCgovLyBxdWVyeQokdGhlX3F1ZXJ5ID0gbmV3IFdQX1F1ZXJ5KCAkYXJncyApOwoKPz4KCjw/cGhwCiAgICBpZiAoICR0aGVfcXVlcnktPmhhdmVfcG9zdHMoKSApCiAgICB7CgogICAgfQogICAgZWxzZSB7CiAgICAgICAgICAgIGVjaG8gICI8aDQgY2xhc3M9J25vLXBvc3RzLW1lc3NhZ2UnIHN0eWxlPSdjb2xvcjogd2hpdGU7Jz4gU3RheSB0dW5lZCBmb3IgZXZlbnRzIDwvaDQ+ICI7CiAgICAgICAgICB9CiAgICA/Pg==