IyBDb3B5cmlnaHQgKGMpIDIwMTEgTWlhLVNvZnR3YXJlLg0KIyBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQojIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjIuMA0KIyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MjAuaHRtbA0KIw0KIyBDb250cmlidXRvcnM6DQojICAgIEdy6WdvaXJlIER1cOkgKE1pYS1Tb2Z0d2FyZSkgLSBCdWcgMzY3MTUzIC0gc3luY2hyb25pemF0aW9uIHV0aWxpdGllcw0Kc291cmNlLi4gPSBzcmMvDQpvdXRwdXQuLiA9IGJpbi8NCmJpbi5pbmNsdWRlcyA9IE1FVEEtSU5GLyxcDQogICAgICAgICAgICAgICAuLFwNCiAgICAgICAgICAgICAgIE9TR0ktSU5GLyxcDQogICAgICAgICAgICAgICBhYm91dC5odG1sDQpzcmMuaW5jbHVkZXMgPSBhYm91dC5odG1sDQogICAgICAgICAgICAgICA=