/* package whatever; // don't place package name! */
import java.util.function.*;
import java.util.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Supplier<String> supplier = () -> "Hello";
System.
out.
println(lazy
(supplier
)); }
static <T> Supplier<T> lazy(Supplier<? extends T> delegate) {
return new Supplier<T>() {
@Override public T get() { return delegate.get(); }
@Override
public String toString
() { return Objects.
toString(get
()); } };
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC5mdW5jdGlvbi4qOwppbXBvcnQgamF2YS51dGlsLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN1cHBsaWVyPFN0cmluZz4gc3VwcGxpZXIgPSAoKSAtPiAiSGVsbG8iOwoJCVN5c3RlbS5vdXQucHJpbnRsbihzdXBwbGllcik7CgkJU3lzdGVtLm91dC5wcmludGxuKGxhenkoc3VwcGxpZXIpKTsKCX0KCQpzdGF0aWMgPFQ+IFN1cHBsaWVyPFQ+IGxhenkoU3VwcGxpZXI8PyBleHRlbmRzIFQ+IGRlbGVnYXRlKSB7CiAgcmV0dXJuIG5ldyBTdXBwbGllcjxUPigpIHsKICAgIEBPdmVycmlkZSBwdWJsaWMgVCBnZXQoKSB7IHJldHVybiBkZWxlZ2F0ZS5nZXQoKTsgfQogICAgQE92ZXJyaWRlIHB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKSB7IHJldHVybiBPYmplY3RzLnRvU3RyaW5nKGdldCgpKTsgfQogIH07Cn0KfQ==