IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBDb3B5cmlnaHQgKGMpIDIwMTkgTWlhLVNvZnR3YXJlIGFuZCBvdGhlcnMuDQojDQojIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCiMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjANCiMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCiMgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC8NCiMNCiMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiMNCiMgQ29udHJpYnV0b3JzOg0KIyAgICAgVW5rbm93biAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBDb3B5cmlnaHQgKGMpIDIwMTQsIDIwMTUgTWlhLVNvZnR3YXJlLCBhbmQgU29mdC1NYWludC4NCiMgQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KIyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYyLjANCiMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCiMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjIwLmh0bWwNCiMgDQojIENvbnRyaWJ1dG9yczoNCiMgICAgR3JlZ29pcmUgRHVwZSAoTWlhLVNvZnR3YXJlKSAtIEJ1ZyAzNTg5MTQgLSBbTW92ZSB0byBFTUYgRmFjZXRdW0Jyb3dzZXJdIFN3aXRjaCB0byBFTUYgRmFjZXQNCiMgICAgVGhvbWFzIENpY29nbmFuaSAoU29mdC1NYWludCkgLSBCdWcgNDQyMjU3IC0gTmV3IHRvb2xiYXIgYWN0aW9ucyB0byAoZGVzKWFjdGl2YXRlIGN1c3RvbWl6YXRpb25zDQojICAgIFRob21hcyBDaWNvZ25hbmkgKFNvZnQtTWFpbnQpIC0gQnVnIDQ0MjcxOCAtIEltcGxlbWVudCBjb3B5IGFjdGlvbiBpbiB0aGUgbmV3IE1vRGlzY28gQnJvd3Nlcg0KIyAgICBUaG9tYXMgQ2ljb2duYW5pIChTb2Z0LU1haW50KSAtIEJ1ZyA0NDI3MTQgLSBOZXcgdG9vbGJhciBhY3Rpb24gdG8gc2hvdy9oaWRlIGVDb250YWluZXIgbGluaw0KIyAgICBHculnb2lyZSBEdXDpIChNaWEtU29mdHdhcmUpIC0gQnVnIDQ2OTI2MyAtIFtVbml0IFRlc3QgRmFpbHVyZV0gb3JnLmVjbGlwc2UubW9kaXNjby50ZXN0cy5CdW5kbGVUZXN0Lm5hbWUNCiMgICAgVGhvbWFzIENpY29nbmFuaSAoU29mdC1NYWludCkgLSBCdWcgNDcwOTYyIC0gQWRkIHNob3J0Y3V0cyB0byBhY3RpdmF0ZSBjdXN0b21zDQojICAgIFRob21hcyBDaWNvZ25hbmkgKFNvZnQtTWFpbnQpIC0gQnVnIDQ3MTU5NyAtIFtOZXcgQnJvd3Nlcl0gQWRkIGEgY3VzdG9taXphdGlvbiB0byBkaXNwbGF5IHN1YmNsYXNzZXMgZnJvbSBhbiBFQ2xhc3MNCiMgICAgVGhvbWFzIENpY29nbmFuaSAoU29mdC1NYWludCkgLSBCdWcgNDcyMDQxIC0gW05ldyBCcm93c2VyXSBBZGQgYSBjdXN0b21pemF0aW9uIGNvdW50aW5nIGluc3RhbmNlcyBieSBFQ2xhc3MgaW4gdGhlIHNhbWUgUmVzb3VyY2UNCiMgICAgVGhvbWFzIENpY29nbmFuaSAoTWlhLVNvZnR3YXJlKSAtIEJ1ZyA0NzA5NjIgLSBBZGQgc2hvcnRjdXRzIHRvIGFjdGl2YXRlIGN1c3RvbXMNCiNQcm9wZXJ0aWVzIGZpbGUgZm9yIG9yZy5lY2xpcHNlLm1vZGlzY28uZmFjZXQud2lkZ2V0cy50cmVlLnVpLndvcmtiZW5jaA0KQnVuZGxlLVZlbmRvciA9IEVjbGlwc2UgTW9kZWxpbmcgUHJvamVjdA0KQnVuZGxlLU5hbWUgPSBNb0Rpc2NvIFRyZWUgV2lkZ2V0cw0KVHJlZVJlc291cmNlRWRpdG9yID0gVHJlZSBSZXNvdXJjZSBFZGl0b3INCm1vZGlzY29Ccm93c2VyVG9vbGJhckxhYmVsID0gTW9EaXNjbyBCcm93c2VyDQpMb2FkVW5sb2FkRmFjZXRzID0gTG9hZC9VbmxvYWQgZmFjZXRzDQpMb2FkVW5sb2FkQ3VzdG9tcyA9IExvYWQvVW5sb2FkIGN1c3RvbWl6YXRpb25zDQpTaG93TGlua3NMYWJlbCA9IFNob3cgbnVtYmVyIG9mIGxpbmtzClNob3dFQ29udGFpbmVyTGFiZWwgPSBTaG93IGVDb250YWluZXIgbGluaw0KQ29weUxhYmVsID0gQ29weQpIaWRlRW1wdHlSZWZlcmVuY2VzID0gSGlkZSBFbXB0eSBSZWZlcmVuY2VzDQpIaWRlRGVyaXZlZFJlZmVyZW5jZXMgPSBIaWRlIERlcml2ZWQgUmVmZXJlbmNlcw0Kc2hvd0VDbGFzc1N1YmNsYXNzZXMgPSBTaG93IEVDbGFzcyBTdWJjbGFzc2VzDQpzaG93RUNsYXNzU3ViY2xhc3Nlc0Zyb21FQ2xhc3MgPSBTaG93IEVDbGFzcyBTdWJjbGFzc2VzIEZyb20gQW4gRUNsYXNzCg==