IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBDb3B5cmlnaHQgKGMpIDIwMTkgTWlhLVNvZnR3YXJlIGFuZCBvdGhlcnMuDQojDQojIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCiMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjANCiMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCiMgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC8NCiMNCiMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiMNCiMgQ29udHJpYnV0b3JzOg0KIyAgICAgVW5rbm93biAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyAgQ29weXJpZ2h0IChjKSAyMDExLDIwMTIgTWlhLVNvZnR3YXJlIGFuZCBvdGhlcnMuDQojICANCiMgIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCiMgIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjIuMA0KIyAgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCiMgIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYyMC5odG1sDQojICANCiMgIENvbnRyaWJ1dG9yczoNCiMgICAgIEdyZWdvaXJlIER1cGUgKE1pYS1Tb2Z0d2FyZSkgLSBEZXNpZ24NCiMgICAgIE5pY29sYXMgR3V5b21hciAoTWlhLVNvZnR3YXJlKSAtIEltcGxlbWVudGF0aW9uDQojICAgICBFbW1hbnVlbGxlIFJvdWlsbOkgKE1pYS1Tb2Z0d2FyZSkgLSBCdWcgMzUyNjE4IC0gVG8gYmUgYWJsZSB0byB1c2Ugbm9uLWRlcml2ZWQgZmFjZXQgc3RydWN0dXJhbCBmZWF0dXJlcyBhbmQgc2F2ZSB0aGVpciB2YWx1ZXMuDQojICAgICBOaWNvbGFzIEJyb3MgKE1pYS1Tb2Z0d2FyZSkgLSBCdWcgMzcwMTEwIC0gUmVuYW1lIGVmYWNldGNhdGFsb2cyLmVjb3JlDQojICAgICBHculnb2lyZSBEdXDpIChNaWEtU29mdHdhcmUpIC0gQnVnIDM2MTgxNyAtIFtSZXN0cnVjdHVyaW5nXSBEeW5hbWljIGxvYWQgdG8gdGhlIGZhY2V0IGNhdGFsb2cNCiMgDQoNCnBsdWdpbk5hbWUgPSBFZmFjZXRjYXRhbG9nIE1vZGVsDQpwcm92aWRlck5hbWUgPSB3d3cuZXhhbXBsZS5vcmcNCg==