/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.channels.FileChannel;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.TimeUnit;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
}
FileChannel inChannel = in.getChannel();
FileChannel outChannel = out.getChannel();
inChannel.transferTo(0, source.length(), outChannel);
in.close();
out.close();
}
Files.copy(source.toPath(), target.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
byte[] buf = new byte[8192];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLmlvLkZpbGU7CmltcG9ydCBqYXZhLmlvLkZpbGVJbnB1dFN0cmVhbTsKaW1wb3J0IGphdmEuaW8uRmlsZU91dHB1dFN0cmVhbTsKaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CmltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFtOwppbXBvcnQgamF2YS5pby5PdXRwdXRTdHJlYW07CmltcG9ydCBqYXZhLm5pby5jaGFubmVscy5GaWxlQ2hhbm5lbDsKaW1wb3J0IGphdmEubmlvLmZpbGUuRmlsZXM7CmltcG9ydCBqYXZhLm5pby5maWxlLlN0YW5kYXJkQ29weU9wdGlvbjsKaW1wb3J0IGphdmEudGV4dC5TaW1wbGVEYXRlRm9ybWF0OwppbXBvcnQgamF2YS51dGlsLkRhdGU7CmltcG9ydCBqYXZhLnV0aWwuY29uY3VycmVudC5UaW1lVW5pdDsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJfQoJCgkJcHJpdmF0ZSBzdGF0aWMgdm9pZCBjb3B5V2l0aENoYW5uZWwoRmlsZSBzb3VyY2UsIEZpbGUgdGFyZ2V0KSB0aHJvd3MgSU9FeGNlcHRpb24gewoKCQlGaWxlSW5wdXRTdHJlYW0gaW4gPSBuZXcgRmlsZUlucHV0U3RyZWFtKHNvdXJjZSk7CgkJRmlsZU91dHB1dFN0cmVhbSBvdXQgPSBuZXcgRmlsZU91dHB1dFN0cmVhbSh0YXJnZXQpOwoKCQlGaWxlQ2hhbm5lbCBpbkNoYW5uZWwgPSBpbi5nZXRDaGFubmVsKCk7CgkJRmlsZUNoYW5uZWwgb3V0Q2hhbm5lbCA9IG91dC5nZXRDaGFubmVsKCk7CgoJCWluQ2hhbm5lbC50cmFuc2ZlclRvKDAsIHNvdXJjZS5sZW5ndGgoKSwgb3V0Q2hhbm5lbCk7CgoJCWluLmNsb3NlKCk7CgkJb3V0LmNsb3NlKCk7CgoJfQoKCXByaXZhdGUgc3RhdGljIHZvaWQgY29weVdpdGhGaWxlcyhGaWxlIHNvdXJjZSwgRmlsZSB0YXJnZXQpIHRocm93cyBJT0V4Y2VwdGlvbiB7CgoJCUZpbGVzLmNvcHkoc291cmNlLnRvUGF0aCgpLCB0YXJnZXQudG9QYXRoKCksIFN0YW5kYXJkQ29weU9wdGlvbi5SRVBMQUNFX0VYSVNUSU5HKTsKCX0KCglwcml2YXRlIHN0YXRpYyB2b2lkIGNvcHlXaXRoU3RyZWFtKEZpbGUgc291cmNlLCBGaWxlIHRhcmdldCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKCgkJSW5wdXRTdHJlYW0gaW4gPSBuZXcgRmlsZUlucHV0U3RyZWFtKHNvdXJjZSk7CgkJT3V0cHV0U3RyZWFtIG91dCA9IG5ldyBGaWxlT3V0cHV0U3RyZWFtKHRhcmdldCk7CgkJYnl0ZVtdIGJ1ZiA9IG5ldyBieXRlWzgxOTJdOwoJCWludCBsZW47CgkJd2hpbGUgKChsZW4gPSBpbi5yZWFkKGJ1ZikpID4gMCkgewoJCQlvdXQud3JpdGUoYnVmLCAwLCBsZW4pOwoJCX0KCQlpbi5jbG9zZSgpOwoJCW91dC5jbG9zZSgpOwoJfQp9