IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgYW5kIENjOiB0aGUgPFUtQm9vdC1Vc2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IG1haWxpbmcgbGlzdHMuCSMKIwkJCQkJCQkJCSMKIyBOb3RlOiBsaXN0cyBzb3J0ZWQgYnkgTWFpbnRhaW5lciBOYW1lCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgUG93ZXJQQyBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKR3JlZyBBbGxlbiA8Z2FsbGVuQGFybHV0LnV0ZXhhcy5lZHU+CgoJVVRYODI0NQkJCU1QQzgyNDUKClBhbnRlbGlzIEFudG9uaW91IDxwYW50b0BpbnRyYWNvbS5ncj4KCglORVRWSUEJCQlNUEM4eHgKClJlaW5oYXJkIEFybHQgPHJlaW5oYXJkLmFybHRAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCgljcGNpNTIwMAkJTVBDNTIwMAoJcGY1MjAwCQkJTVBDNTIwMAoKCUNQQ0k3NTAJCQlQUEM3NTBGWC9HWAoKWXVsaSBCYXJjb2hlbiA8eXVsaUBhcmFiZWxsYXN3LmNvbT4KCglBZGRlcgkJCU1QQzg3eC9NUEM4NTJUCgllcDgyNDgJCQlNUEM4MjQ4CglJU1BBTgkJCU1QQzgyNjAKCU1QQzgyNjBBRFMJCU1QQzgyNngvTVBDODI3eC9NUEM4MjgwCglSYXR0bGVyCQkJTVBDODI0OAoJWlBDMTkwMAkJCU1QQzgyNjUKCkplcnJ5IFZhbiBCYXJlbiA8Z2VyYWxkLnZhbmJhcmVuQHNtaXRocy1hZXJvc3BhY2UuY29tPgoKCXNhY3NuZwkJCU1QQzgyNjAKCk9saXZlciBCcm93biA8b2Jyb3duQGFkdmVudG5ldHdvcmtzLmNvbT4KCglndzgyNjAJCQlNUEM4MjYwCgpDb25uIENsYXJrIDxjbGFya0Blc3RlZW0uY29tPgoKCUVTVEVFTTE5MkUJCU1QQzh4eAoKS+FyaSBEYXbt8HNzb24gPGtkQGZsYWdhLmlzPgoKCUZMQUdBRE0JCQlNUEM4MjMKClRvcnN0ZW4gRGVta2UgPHRvcnN0ZW4uZGVta2VAZmNpLmNvbT4KCgllWGFsaW9uCQkJTVBDODI0eAoKV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KCglJY2VDdWJlXzUxMDAJCU1HVDUxMDAKCUljZUN1YmVfNTIwMAkJTVBDNTIwMAoKCUFNWDg2MAkJCU1QQzg2MAoJRVRYMDk0CQkJTVBDODUwCglGUFM4NTBMCQkJTVBDODUwCglGUFM4NjBMCQkJTVBDODYwCglJQ1U4NjIJCQlNUEM4NjIKCUlQODYwCQkJTVBDODYwCglJVk1MMjQJCQlNUEM4NjAKCUlWTUwyNF8xMjgJCU1QQzg2MAoJSVZNTDI0XzI1NgkJTVBDODYwCglJVk1TOAkJCU1QQzg2MAoJSVZNUzhfMTI4CQlNUEM4NjAKCUlWTVM4XzI1NgkJTVBDODYwCglMQU5URUMJCQlNUEM4NTAKCUxXTU9OCQkJTVBDODIzCglOQzY1MAkJCU1QQzg1MgoJUjM2ME1QSQkJCU1QQzgyMwoJUk1VCQkJTVBDODUwCglSUnZpc2lvbgkJTVBDODIzCglTTTg1MAkJCU1QQzg1MAoJU1BEODIzVFMJCU1QQzgyMwoJVFFNODIzTAkJCU1QQzgyMwoJVFFNODIzTF9MQ0QJCU1QQzgyMwoJVFFNODUwTAkJCU1QQzg1MAoJVFFNODU1TAkJCU1QQzg1NQoJVFFNODYwTAkJCU1QQzg2MAoJVFFNODYwTF9GRUMJCU1QQzg2MAoJYzJtb24JCQlNUEM4NTUKCWhlcm1lcwkJCU1QQzg2MAoJbHdtb24JCQlNUEM4MjMKCXBjdV9lCQkJTVBDODU1CgoJQ1U4MjQJCQlNUEM4MjQwCglTYW5kcG9pbnQ4MjQwCQlNUEM4MjQwCglTTDgyNDUJCQlNUEM4MjQ1CgoJQVRDCQkJTVBDODI1MAoJUE04MjUJCQlNUEM4MjUwCgoJVFFNODI1NQkJCU1QQzgyNTUKCglDUFU4NgkJCU1QQzgyNjAKCVBNODI2CQkJTVBDODI2MAoJVFFNODI2MAkJCU1QQzgyNjAKCglQM0c0CQkJTVBDNzQxMAoKCVBDSVBQQzIJCQlNUEM3NTAKCVBDSVBQQzYJCQlNUEM3NTAKCglFWEJJVEdFTgkJUFBDNDA1R1AKCkpvbiBEaWVrZW1hIDxqb24uZGlla2VtYUBzbWl0aHMtYWVyb3NwYWNlLmNvbT4KCglzYmM4MjYwCQkJTVBDODI2MAoKRGF2ZSBFbGxpcyA8REdFQHNpeG5ldGlvLmNvbT4KCglTWE5JODU1VAkJTVBDOHh4CgpUaG9tYXMgRnJpZWRlbiA8VGhvbWFzRkBoeXBlcmlvbi1lbnRlcnRhaW5tZW50LmNvbT4KCglBbWlnYU9uZUczU0UJCU1QQzd4eAoKTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC1lbGVjdHJvbmljcy5jb20+CgoJQURDSU9QCQkJSU9QNDgwIChQUEM0MDEpCglBUEM0MDUJCQlQUEM0MDVHUAoJQVI0MDUJCQlQUEM0MDVHUAoJQVNINDA1CQkJUFBDNDA1RVAKCUNBTkJUCQkJUFBDNDA1Q1IKCUNQQ0kyRFAJCQlQUEM0MDVHUAoJQ1BDSTQwNQkJCVBQQzQwNUdQCglDUENJNDA1MgkJUFBDNDA1R1AKCUNQQ0k0MDVBQgkJUFBDNDA1R1AKCUNQQ0k0MDVEVAkJUFBDNDA1R1AKCUNQQ0k0NDAJCQlQUEM0NDBHUAoJQ1BDSUlTRVI0CQlQUEM0MDVHUAoJREFTQV9TSU0JCUlPUDQ4MCAoUFBDNDAxKQoJRFA0MDUJCQlQUEM0MDVFUAoJRFU0MDUJCQlQUEM0MDVHUAoJRzIwMDAJCQlQUEM0MDVFUAoJSEg0MDUJCQlQUEM0MDVFUAoJSFVCNDA1CQkJUFBDNDA1RVAKCU9DUlRDCQkJUFBDNDA1R1AKCU9SU0cJCQlQUEM0MDVHUAoJUENJNDA1CQkJUFBDNDA1R1AKCVBMVTQwNQkJCVBQQzQwNUVQCglQTUM0MDUJCQlQUEM0MDVHUAoJVk9INDA1CQkJUFBDNDA1RVAKCVZPTTQwNQkJCVBQQzQwNUVQCglXVUg0MDUJCQlQUEM0MDVFUAoKRnJhbmsgR290dHNjaGxpbmcgPGZnb3R0c2NobGluZ0BlbHRlYy5kZT4KCglNSFBDCQkJTVBDOHh4CgoJQkFCN3h4CQkJTVBDNzQwL01QQzc1MAoKV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZGVueC5kZT4KCglDQ00JCQlNUEM4NTUKCglQTjYyCQkJTVBDODI0MAoKCUlQSEFTRTQ1MzkJCU1QQzgyNjAKCVNDTQkJCU1QQzgyNjAKCkhvd2FyZCBHcmF5IDxtdnNlbnNvckBtYXRyaXgtdmlzaW9uLmRlPgoKCU1WUzEJCQlNUEM4MjMKCktsYXVzIEhleWRlY2sgPGhleWRlY2tAa2llYmFjay1wZXRlci5kZT4KCglLVVA0SwkJCU1QQzg1NQoJS1VQNFgJCQlNUEM4NTkKCk11cnJheSBKZW5zZW4gPE11cnJheS5KZW5zZW5AY3Npcm8uYXU+CgoJY29nZW50X21wYzh4eAkJTVBDOHh4CgoJY29nZW50X21wYzgyNjAJCU1QQzgyNjAKCWh5bW9kCQkJTVBDODI2MAoKQnJhZCBLZW1wIDxCcmFkLktlbXBAc2VyYW5vYS5jb20+CgoJcHBtYzgyNjAJCU1QQzgyNjAKClNhbmdtb29uIEtpbSA8ZG9nb2lsQGV0aW5zeXMuY29tPgoKCWRlYnJpcwkJCU1QQzgyNDUKClRob21hcyBMYW5nZSA8dGhvbWFzQGNvcmVsYXR1cy5zZT4KCglHVEgJCQlNUEM4NjAKClRoZSBMRU9YIHRlYW0gPHRlYW1AbGVveC5vcmc+CgoJRUxQVDg2MAkJCU1QQzg2MFQKCk55ZSBMaXUgPG55ZXRAenVtYW5ldHdvcmtzLmNvbT4KCglaVU1BCQkJTVBDN3h4Xzc0eHgKCkpvbiBMb2VsaWdlciA8amRsQGZyZWVzY2FsZS5jb20+CgoJTVBDODU0MEFEUwkJTVBDODU0MAoJTVBDODU2MEFEUwkJTVBDODU2MAoJTVBDODU0MUNEUwkJTVBDODU0MQoJTVBDODU1NUNEUwkJTVBDODU1NQoKRGFuIE1hbGVrIDxkYW5AZW1iZWRkZWRlZGdlLmNvbT4KCglTVHhHUDMJCQlNUEM4NXh4CglTVHhYVGMJCQlNUEM4eHgKCkVyYW4gTWFuIDxlcmFuQG5iYXNlLmNvLmlsPgoKCUVWQjY0MjYwXzc1MENYCQlNUEM3NTBDWAoKQW5kcmVhICJsbGFuZHJlIiBNYXJzb24gPGFuZHJlYS5tYXJzb25AZGF2ZS10ZWNoLml0PgoKCVBQQ2hhbWVsZW9uRVZCCVBQQzQwNUVQCgpSZWluaGFyZCBNZXllciA8ci5tZXllckBlbWstZWxla3Ryb25pay5kZT4KCglUT1A4NjAJCQlNUEM4NjBUCglUT1A1MjAwCQkJTVBDNTIwMAoKVG9sdW5heSBPcmt1biA8dG9ya3VuQG5leHRpby5jb20+CgoJY3NiMjcyCQkJUFBDNDA1R1AKCWNzYjQ3MgkJCVBQQzQwNUdQCgpLZWl0aCBPdXR3YXRlciA8S2VpdGhfT3V0d2F0ZXJAbXZpcy5jb20+CgoJR0VOODYwVAkJCU1QQzg2MFQKCUdFTjg2MFRfU0MJCU1QQzg2MFQKCkZyYW5rIFBhbm5vIDxmcGFubm9AZGVscGhpbnRlY2guY29tPgoKCWVwODI2MAkJCU1QQzgyNjAKClBldGVyIFBlYXJzZSA8cGV0ZXIucGVhcnNlQGFybS5jb20+CglpbnRlZ3JhdG9yY3AJCUFsbCBjdXJyZW50IEFSTSBzdXBwbGllZCAmCgkJCQlzdXBwb3J0ZWQgY29yZSBtb2R1bGVzCgkJCQktIHNlZSBodHRwOi8vd3d3LmFybS5jb20KCQkJCS9wcm9kdWN0cy9EZXZUb29scwoJCQkJL0hhcmR3YXJlX1BsYXRmb3Jtcy5odG1sCgl2ZXJzYXRpbGUJCUFSTTkyNkVKLVMKCXZlcnNhdGlsZQkJQVJNOTI2RUotUwoKRGVuaXMgUGV0ZXIgPGQucGV0ZXJAbXBsLmNoPgoKCU1JUDQwNQkJCVBQQzR4eAoJUElQNDA1CQkJUFBDNHh4CgpEYW5pZWwgUG9pcm90IDxkYW4ucG9pcm90QHdpbmRyaXZlci5jb20+CgoJc2JjODI0MAkJCU1QQzgyNDAKCXNiYzQwNQkJCVBQQzQwNUdQCgpTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CgoJYmFtYm9vCQkJUFBDNDQwRVAKCWJ1bmJpbmdhCQlQUEM0MDVFUAoJZWJvbnkJCQlQUEM0NDBHUAoJb2NvdGVhCQkJUFBDNDQwR1gKCXN5Y2Ftb3JlCQlQUEM0MDVHUHIKCXdhbG51dAkJCVBQQzQwNUdQCgl5ZWxsb3dzdG9uZQkJUFBDNDQwR1IKCXlvc2VtaXRlCQlQUEM0NDBFUAoKWXVzZGkgU2FudG9zbyA8eXVzZGlfc2FudG9zb0BhZGFwdGVjLmNvbT4KCglISURERU5fRFJBR09OCU1QQzgyNDEvTVBDODI0NQoKVHJhdmlzIFNhd3llciAodHJhdmlzLnNhd3llckBzYW5kYnVyc3QuY29tPgoKCUtBUkVGCQkJUFBDNDQwR1gKCU1FVFJPQk9YCQlQUEM0NDBHWAoJWFBFRElURTFLCQlQUEM0NDBHWAoKUGV0ZXIgRGUgU2NocmlqdmVyIDxwMkBtaW5kLmJlPgoKCU1MMgkJCVBQQzR4eAoKRXJpayBUaGVpc2VuIDxldGhlaXNlbkBtaW5kc3ByaW5nLmNvbT4KCglXN09MTUMJCQlQUEM0eHgKCVc3T0xNRwkJCVBQQzR4eAoKSmltIFRob21wc29uIDxqaW1AbXVzZW5raS5jb20+CgoJTVVTRU5LSQkJCU1QQzgyNDUvODI0MQoJU2FuZHBvaW50ODI0NQkJTVBDODI0NQoKUnVuZSBUb3JnZXJzZW4gPHJ1bmV0QGlubm92c3lzLmNvbT4KCglNUEM4MjY2QURTCQlNUEM4MjY2CgpKb3NlZiBXYWduZXIgPFdhZ25lckBNaWNyb3N5cy5kZT4KCglDUEM0NQkJCU1QQzgyNDUKCVBNNTIwCQkJTVBDNTIwMAoKU3RlcGhlbiBXaWxsaWFtcyA8c3RldmVAaWNhcnVzLmNvbT4KCglKU0UJCQlQUEM0MDVHUHIKCkpvaG4gWmhhbiA8emhhbnpAc2lub3ZlZS5jb20+CgoJc3ZtX3NjOHh4CQlNUEM4eHgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClVua25vd24gLyBvcnBoYW5lZCBib2FyZHM6CgoJQURTODYwCQkJTVBDOHh4CglGQURTODIzCQkJTVBDOHh4CglGQURTODUwU0FSCQlNUEM4eHgKCUZBRFM4NjBUCQlNUEM4eHgKCUdFTklFVFYJCQlNUEM4eHgKCUlBRDIxMAkJCU1QQzh4eAoJTUJYCQkJTVBDOHh4CglNQlg4NjBUCQkJTVBDOHh4CglOWDgyMwkJCU1QQzh4eAoJUlBYQ2xhc3NpYwkJTVBDOHh4CglSUFhsaXRlCQkJTVBDOHh4CgoJQ1JBWUwxCQkJUFBDNHh4CglFUklDCQkJUFBDNHh4CgoJTU9VU1NFCQkJTVBDODI0eAoKCVJQWHN1cGVyCQlNUEM4MjYwCglyc2Rwcm90bwkJTVBDODI2MAoKCUVWQjY0MjYwCQlNUEM3eHhfNzR4eAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBBUk0gU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpSb3dlbCBBdGllbnphIDxyb3dlbEBkaXdhbGFicy5jb20+CgoJYXJtYWRpbGxvCQlBUk03MjBUCgpSaXNoaSBCaGF0dGFjaGFyeWEgPHJpc2hpQHRpLmNvbT4KCglvbWFwNTkxMm9zawkJQVJNOTI2RUpTCgpDbGlmZiBCcmFrZSA8Y2xpZmYuYnJha2VAZ21haWwuY29tPgoKCXB4YTI1NV9pZHAJCXhzY2FsZQoKUmljayBCcm9uc29uIDxyaWNrQGVmbi5vcmc+CgoJQVQ5MVJNOTIwMERLCQlhdDkxcm05MjAwCgpHZW9yZ2UgRy4gRGF2aXMgPGdkYXZpc0BtdmlzdGEuY29tPgoKCWFzc2FiZXQJCQlTQTExMDAKCWdjcGx1cwkJCVNBMTEwMAoKVGhvbWFzIEVsc3RlIDxpbmZvQGVsc3RlLm9yZz4KCgltb2RuZXQ1MAkJQVJNNzIwVCAoTkVUKzUwKQoKUGV0ZXIgRmlndWxpIDxwZXBvc2hAZXRjLnNrPgoKCXdlcGVwMjUwCQl4c2NhbGUKCk1hcml1cyBHcvZnZXIgPG1hZ0BzeXNnby5kZT4KCglpbXBhNwkJCUFSTTcyMFQgKEVQNzIxMSkKCWVwNzMxMgkJCUFSTTcyMFQgKEVQNzMxMikKCktzaGl0aWogR3VwdGEgPGtzaGl0aWpAdGkuY29tPgoKCW9tYXAxNTEwaW5uCQlBUk05MjVUCglvbWFwMTYxMGlubgkJQVJNOTI2RUpTCgpLeWxlIEhhcnJpcyA8a2hhcnJpc0BuZXh1cy10ZWNoLm5ldD4KCglsdWJib2NrCQkJeHNjYWxlCgljcmFkbGUJCQl4c2NhbGUKCWl4ZHA0MjUJCQl4c2NhbGUKCkdhcnkgSmVubmVqb2huIDxnakBkZW54LmRlPgoKCXNtZGsyNDAwCQlBUk05MjBUCgl0cmFiCQkJQVJNOTIwVAoKTmlzaGFudCBLYW1hdCA8bnNrYW1hdEB0aS5jb20+CgoJb21hcDE2MTBoMgkJQVJNOTI2RUpTCgpQcmFrYXNoIEt1bWFyIDxwcmFrYXNoQGVtYmVkeC5jb20+CgoJY2VyZjI1MAkJCXhzY2FsZQoKRGF2aWQgTfxsbGVyIDxkLm11ZWxsZXJAZWxzb2Z0LmNoPgoKCXNtZGsyNDEwCQlBUk05MjBUCglWQ01BOQkJCUFSTTkyMFQKClJvbGYgT2ZmZXJtYW5ucyA8cm9mQHN5c2dvLmRlPgoKCXNoYW5ub24JCQlTQTExMDAKCkRhdmUgUGV2ZXJsZXkgPGRwZXZlcmxleUBtcGMtZGF0YS5jby51az4KCglvbWFwNzMwcDIJCUFSTTkyNkVKUwoKUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgoKCWNzYjIyNgkJCXhzY2FsZQoJaW5ub2tvbQkJCXhzY2FsZQoKQW5kcmVhIFNjaWFuIDxhbmRyZWEuc2NpYW5AZGF2ZS10ZWNoLml0PgoKCUIyCQkJQVJNN1RETUkgKFMzQzQ0QjBYKQoKR3JlZyBVbmdlcmVyIDxncmVnLnVuZ2VyZXJAb3BlbmdlYXIuY29tPgoKCWNtNDAwOAkJCWtzODY5NXAKCWNtNDExNgkJCWtzODY5NXAKCWNtNDE0OAkJCWtzODY5NXAKClJpY2hhcmQgV29vZHJ1ZmYgPHItd29vZHJ1ZmYyQHRpLmNvbT4KCglvbWFwMjQyMGg0CQlBUk0xMTM2RUpTCgpBbGV4IFr8cGtlIDxhenVAc3lzZ28uZGU+CgoJbGFydAkJCVNBMTEwMAoJZG5wMTExMAkJCVNBMTExMAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIHg4NiBTeXN0ZW1zOgkJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCkRhbmllbCBFbmdzdHL2bSA8ZGFuaWVsQG9taWNyb24uc2U+CgoJc2M1MjBfY2RwCQl4ODYKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNSVBTIFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KCglpbmNhaXAJCQlNSVBTMzIgNEtjCglwdXJwbGUJCQlNSVBTNjQgNUtjCgpUaG9tYXMgTGFuZ2UgPHRob21hc0Bjb3JlbGF0dXMuc2U+CglkYmF1MXgwMAkJTUlQUzMyIEF1MTAwMAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE5pb3MtMzIgU3lzdGVtczoJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClN0ZXBoYW4gTGlueiA8bGluekBsaS1wcm8ubmV0PgoKCURLMVMxMAkJCU5pb3MtMzIKCUFETlBFU0MxCQlOaW9zLTMyCgpTY290dCBNY051dHQgPHNtY251dHRAcHN5ZW50LmNvbT4KCglESzFDMjAJCQlOaW9zLTMyCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTmlvcy1JSSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKU2NvdHQgTWNOdXR0IDxzbWNudXR0QHBzeWVudC5jb20+CgoJUENJNTQ0MQkJCU5pb3MtSUkKCVBLMUMyMAkJCU5pb3MtSUkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNaWNyb0JsYXplIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpZYXN1c2hpIFNob2ppIDx5YXNoaUBhdG1hcmstdGVjaG5vLmNvbT4KCglTVVpBS1UJCQlNaWNyb0JsYXplCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQ29sZGZpcmUgU3lzdGVtczoJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCk1hdHRoaWFzIEZ1Y2hzIDxtYXR0aGlhcy5mdWNoc0Blc2QtZWxlY3Ryb25pY3MuY29tPgoKCVRBU1JFRwkJCU1DRjUyNDkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBFbmQgb2YgTUFJTlRBSU5FUlMgbGlzdAkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo=