dGhpcyBpcyBmYXIgZnJvbSBlbmQgCnRoaXMgaXMgbXkgc3lzdGVtIG15IFdPUkxECnlvdSBDQU4nVCBzdG9wIHRoaXMgd29ybGQKdGhpcyBpcyBhIFdPUkxEIHdpdGggTk8gZW5kaW5nCgoKCmJyaW5nIHRoZSBwaWVjZXMgYmFjayB0byBNRSB0byBsZWFybiBtb3Jl
dGkgb2QgbGxp