IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgYW5kIENjOiB0aGUgPFUtQm9vdC1Vc2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IG1haWxpbmcgbGlzdHMuCSMKIwkJCQkJCQkJCSMKIyBOb3RlOiBsaXN0cyBzb3J0ZWQgYnkgTWFpbnRhaW5lciBOYW1lCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgUG93ZXJQQyBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKR3JlZyBBbGxlbiA8Z2FsbGVuQGFybHV0LnV0ZXhhcy5lZHU+CgoJVVRYODI0NQkJCU1QQzgyNDUKClBhbnRlbGlzIEFudG9uaW91IDxwYW50b0BpbnRyYWNvbS5ncj4KCglORVRWSUEJCQlNUEM4eHgKClJlaW5oYXJkIEFybHQgPHJlaW5oYXJkLmFybHRAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCgljcGNpNTIwMAkJTVBDNTIwMAoJbWVjcDUyMDAJCU1QQzUyMDAKCXBmNTIwMAkJCU1QQzUyMDAKCglDUENJNzUwCQkJUFBDNzUwRlgvR1gKCll1bGkgQmFyY29oZW4gPHl1bGlAYXJhYmVsbGFzdy5jb20+CgoJQWRkZXIJCQlNUEM4N3gvTVBDODUyVAoJZXA4MjQ4CQkJTVBDODI0OAoJSVNQQU4JCQlNUEM4MjYwCglNUEM4MjYwQURTCQlNUEM4MjZ4L01QQzgyN3gvTVBDODI4MAoJUmF0dGxlcgkJCU1QQzgyNDgKCVpQQzE5MDAJCQlNUEM4MjY1CgpKZXJyeSBWYW4gQmFyZW4gPGdlcmFsZC52YW5iYXJlbkBzbWl0aHMtYWVyb3NwYWNlLmNvbT4KCglzYWNzbmcJCQlNUEM4MjYwCgpPbGl2ZXIgQnJvd24gPG9icm93bkBhZHZlbnRuZXR3b3Jrcy5jb20+CgoJZ3c4MjYwCQkJTVBDODI2MAoKQ29ubiBDbGFyayA8Y2xhcmtAZXN0ZWVtLmNvbT4KCglFU1RFRU0xOTJFCQlNUEM4eHgKCkvhcmkgRGF27fBzc29uIDxrZEBmbGFnYS5pcz4KCglGTEFHQURNCQkJTVBDODIzCgpUb3JzdGVuIERlbWtlIDx0b3JzdGVuLmRlbWtlQGZjaS5jb20+CgoJZVhhbGlvbgkJCU1QQzgyNHgKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJSWNlQ3ViZV81MTAwCQlNR1Q1MTAwCglJY2VDdWJlXzUyMDAJCU1QQzUyMDAKCglBTVg4NjAJCQlNUEM4NjAKCUVUWDA5NAkJCU1QQzg1MAoJRlBTODUwTAkJCU1QQzg1MAoJRlBTODYwTAkJCU1QQzg2MAoJSUNVODYyCQkJTVBDODYyCglJUDg2MAkJCU1QQzg2MAoJSVZNTDI0CQkJTVBDODYwCglJVk1MMjRfMTI4CQlNUEM4NjAKCUlWTUwyNF8yNTYJCU1QQzg2MAoJSVZNUzgJCQlNUEM4NjAKCUlWTVM4XzEyOAkJTVBDODYwCglJVk1TOF8yNTYJCU1QQzg2MAoJTEFOVEVDCQkJTVBDODUwCglMV01PTgkJCU1QQzgyMwoJTkM2NTAJCQlNUEM4NTIKCVIzNjBNUEkJCQlNUEM4MjMKCVJNVQkJCU1QQzg1MAoJUlJ2aXNpb24JCU1QQzgyMwoJU004NTAJCQlNUEM4NTAKCVNQRDgyM1RTCQlNUEM4MjMKCVRRTTgyM0wJCQlNUEM4MjMKCVRRTTgyM0xfTENECQlNUEM4MjMKCVRRTTg1MEwJCQlNUEM4NTAKCVRRTTg1NUwJCQlNUEM4NTUKCVRRTTg2MEwJCQlNUEM4NjAKCVRRTTg2MExfRkVDCQlNUEM4NjAKCWMybW9uCQkJTVBDODU1CgloZXJtZXMJCQlNUEM4NjAKCWx3bW9uCQkJTVBDODIzCglwY3VfZQkJCU1QQzg1NQoKCUNVODI0CQkJTVBDODI0MAoJU2FuZHBvaW50ODI0MAkJTVBDODI0MAoJU0w4MjQ1CQkJTVBDODI0NQoKCUFUQwkJCU1QQzgyNTAKCVBNODI1CQkJTVBDODI1MAoKCVRRTTgyNTUJCQlNUEM4MjU1CgoJQ1BVODYJCQlNUEM4MjYwCglQTTgyNgkJCU1QQzgyNjAKCVRRTTgyNjAJCQlNUEM4MjYwCgoJUDNHNAkJCU1QQzc0MTAKCglQQ0lQUEMyCQkJTVBDNzUwCglQQ0lQUEM2CQkJTVBDNzUwCgoJRVhCSVRHRU4JCVBQQzQwNUdQCgpKb24gRGlla2VtYSA8am9uLmRpZWtlbWFAc21pdGhzLWFlcm9zcGFjZS5jb20+CgoJc2JjODI2MAkJCU1QQzgyNjAKCkRhdmUgRWxsaXMgPERHRUBzaXhuZXRpby5jb20+CgoJU1hOSTg1NVQJCU1QQzh4eAoKVGhvbWFzIEZyaWVkZW4gPFRob21hc0ZAaHlwZXJpb24tZW50ZXJ0YWlubWVudC5jb20+CgoJQW1pZ2FPbmVHM1NFCQlNUEM3eHgKCk1hdHRoaWFzIEZ1Y2hzIDxtYXR0aGlhcy5mdWNoc0Blc2QtZWxlY3Ryb25pY3MuY29tPgoKCUFEQ0lPUAkJCUlPUDQ4MCAoUFBDNDAxKQoJQVBDNDA1CQkJUFBDNDA1R1AKCUFSNDA1CQkJUFBDNDA1R1AKCUFTSDQwNQkJCVBQQzQwNUVQCglDQU5CVAkJCVBQQzQwNUNSCglDUENJMkRQCQkJUFBDNDA1R1AKCUNQQ0k0MDUJCQlQUEM0MDVHUAoJQ1BDSTQwNTIJCVBQQzQwNUdQCglDUENJNDA1QUIJCVBQQzQwNUdQCglDUENJNDA1RFQJCVBQQzQwNUdQCglDUENJNDQwCQkJUFBDNDQwR1AKCUNQQ0lJU0VSNAkJUFBDNDA1R1AKCURBU0FfU0lNCQlJT1A0ODAgKFBQQzQwMSkKCURQNDA1CQkJUFBDNDA1RVAKCURVNDA1CQkJUFBDNDA1R1AKCUcyMDAwCQkJUFBDNDA1RVAKCUhINDA1CQkJUFBDNDA1RVAKCUhVQjQwNQkJCVBQQzQwNUVQCglPQ1JUQwkJCVBQQzQwNUdQCglPUlNHCQkJUFBDNDA1R1AKCVBDSTQwNQkJCVBQQzQwNUdQCglQTFU0MDUJCQlQUEM0MDVFUAoJUE1DNDA1CQkJUFBDNDA1R1AKCVZPSDQwNQkJCVBQQzQwNUVQCglWT000MDUJCQlQUEM0MDVFUAoJV1VINDA1CQkJUFBDNDA1RVAKCUNNUzcwMCAgICAgICAgICAgICAgICAgIFBQQzQwNUVQCgpGcmFuayBHb3R0c2NobGluZyA8ZmdvdHRzY2hsaW5nQGVsdGVjLmRlPgoKCU1IUEMJCQlNUEM4eHgKCglCQUI3eHgJCQlNUEM3NDAvTVBDNzUwCgpXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BkZW54LmRlPgoKCUNDTQkJCU1QQzg1NQoKCVBONjIJCQlNUEM4MjQwCgoJSVBIQVNFNDUzOQkJTVBDODI2MAoJU0NNCQkJTVBDODI2MAoKSG93YXJkIEdyYXkgPG12c2Vuc29yQG1hdHJpeC12aXNpb24uZGU+CgoJTVZTMQkJCU1QQzgyMwoKS2xhdXMgSGV5ZGVjayA8aGV5ZGVja0BraWViYWNrLXBldGVyLmRlPgoKCUtVUDRLCQkJTVBDODU1CglLVVA0WAkJCU1QQzg1OQoKTXVycmF5IEplbnNlbiA8TXVycmF5LkplbnNlbkBjc2lyby5hdT4KCgljb2dlbnRfbXBjOHh4CQlNUEM4eHgKCgljb2dlbnRfbXBjODI2MAkJTVBDODI2MAoJaHltb2QJCQlNUEM4MjYwCgpCcmFkIEtlbXAgPEJyYWQuS2VtcEBzZXJhbm9hLmNvbT4KCglwcG1jODI2MAkJTVBDODI2MAoKU2FuZ21vb24gS2ltIDxkb2dvaWxAZXRpbnN5cy5jb20+CgoJZGVicmlzCQkJTVBDODI0NQoJS1ZNRTA4MAkJCU1QQzgyNDUKClRob21hcyBMYW5nZSA8dGhvbWFzQGNvcmVsYXR1cy5zZT4KCglHVEgJCQlNUEM4NjAKClRoZSBMRU9YIHRlYW0gPHRlYW1AbGVveC5vcmc+CgoJRUxQVDg2MAkJCU1QQzg2MFQKCk55ZSBMaXUgPG55ZXRAenVtYW5ldHdvcmtzLmNvbT4KCglaVU1BCQkJTVBDN3h4Xzc0eHgKCkpvbiBMb2VsaWdlciA8amRsQGZyZWVzY2FsZS5jb20+CgoJTVBDODU0MEFEUwkJTVBDODU0MAoJTVBDODU2MEFEUwkJTVBDODU2MAoJTVBDODU0MUNEUwkJTVBDODU0MQoJTVBDODU1NUNEUwkJTVBDODU1NQoKCU1QQzg2NDFIUENOCQlNUEM4NjQxRAoKRGFuIE1hbGVrIDxkYW5AZW1iZWRkZWRhbGxleS5jb20+CgoJc3R4Z3AzCQkJTVBDODV4eAoJc3R4c3NhCQkJTVBDODV4eAoJc3R4eHRjCQkJTVBDOHh4CgpFcmFuIE1hbiA8ZXJhbkBuYmFzZS5jby5pbD4KCglFVkI2NDI2MF83NTBDWAkJTVBDNzUwQ1gKCkFuZHJlYSAibGxhbmRyZSIgTWFyc29uIDxhbmRyZWEubWFyc29uQGRhdmUtdGVjaC5pdD4KCglQUENoYW1lbGVvbkVWQglQUEM0MDVFUAoKUmVpbmhhcmQgTWV5ZXIgPHIubWV5ZXJAZW1rLWVsZWt0cm9uaWsuZGU+CgoJVE9QODYwCQkJTVBDODYwVAoJVE9QNTIwMAkJCU1QQzUyMDAKClRvbHVuYXkgT3JrdW4gPHRvcmt1bkBuZXh0aW8uY29tPgoKCWNzYjI3MgkJCVBQQzQwNUdQCgljc2I0NzIJCQlQUEM0MDVHUAoKSm9obiBPdGtlbiA8am90a2VuQHNvZnRhZHZhbmNlcy5jb20+CgoJbHVhbgkJCVBQQzQ0MFNQCgpLZWl0aCBPdXR3YXRlciA8S2VpdGhfT3V0d2F0ZXJAbXZpcy5jb20+CgoJR0VOODYwVAkJCU1QQzg2MFQKCUdFTjg2MFRfU0MJCU1QQzg2MFQKCkZyYW5rIFBhbm5vIDxmcGFubm9AZGVscGhpbnRlY2guY29tPgoKCWVwODI2MAkJCU1QQzgyNjAKCkRlbmlzIFBldGVyIDxkLnBldGVyQG1wbC5jaD4KCglNSVA0MDUJCQlQUEM0eHgKCVBJUDQwNQkJCVBQQzR4eAoKRGFuaWVsIFBvaXJvdCA8ZGFuLnBvaXJvdEB3aW5kcml2ZXIuY29tPgoKCXNiYzgyNDAJCQlNUEM4MjQwCglzYmM0MDUJCQlQUEM0MDVHUAoKU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgoKCVAzTTc0NDgJCQlNUEM3NDQ4CgoJdWMxMDAJCQlNUEM4NTcKCglUUU04NXh4CQkJTVBDODU0MC84NTQxLzg1NTUvODU2MAoKCWFjYWRpYQkJCVBQQzQwNUVaCglhbHByCQkJUFBDNDQwR1gKCWJhbWJvbwkJCVBQQzQ0MEVQCglidW5iaW5nYQkJUFBDNDA1RVAKCWVib255CQkJUFBDNDQwR1AKCWthdG1haQkJCVBQQzQ0MFNQZQoJb2NvdGVhCQkJUFBDNDQwR1gKCXAzcDQ0MAkJCVBQQzQ0MEdQCglwY3M0NDBlcAkJUFBDNDQwRVAKCXNlcXVvaWEJCQlQUEM0NDBFUHgKCXN5Y2Ftb3JlCQlQUEM0MDVHUHIKCXRhaXNoYW4JCQlQUEM0NDBHWAoJd2FsbnV0CQkJUFBDNDA1R1AKCXllbGxvd3N0b25lCQlQUEM0NDBHUgoJeW9zZW1pdGUJCVBQQzQ0MEVQCgoJUDNNNzUwCQkJUFBDNzUwRlgvR1gvR0wKCll1c2RpIFNhbnRvc28gPHl1c2RpX3NhbnRvc29AYWRhcHRlYy5jb20+CgoJSElEREVOX0RSQUdPTglNUEM4MjQxL01QQzgyNDUKClRyYXZpcyBTYXd5ZXIgKHRyYXZpcy5zYXd5ZXJAc2FuZGJ1cnN0LmNvbT4KCglLQVJFRgkJCVBQQzQ0MEdYCglNRVRST0JPWAkJUFBDNDQwR1gKCVhQRURJVEUxSwkJUFBDNDQwR1gKClBldGVyIERlIFNjaHJpanZlciA8cDJAbWluZC5iZT4KCglNTDIJCQlQUEM0eHgKCkVyaWsgVGhlaXNlbiA8ZXRoZWlzZW5AbWluZHNwcmluZy5jb20+CgoJVzdPTE1DCQkJUFBDNHh4CglXN09MTUcJCQlQUEM0eHgKCkppbSBUaG9tcHNvbiA8amltQG11c2Vua2kuY29tPgoKCU1VU0VOS0kJCQlNUEM4MjQ1LzgyNDEKCVNhbmRwb2ludDgyNDUJCU1QQzgyNDUKClJ1bmUgVG9yZ2Vyc2VuIDxydW5ldEBpbm5vdnN5cy5jb20+CgoJTVBDODI2NkFEUwkJTVBDODI2NgoKCkRhdmlkIFVwZGVncmFmZiA8ZGF2ZUBjcmF5LmNvbT4KCglDUkFZTDEJCQlQUEM0eHgKCkpvc2VmIFdhZ25lciA8V2FnbmVyQE1pY3Jvc3lzLmRlPgoKCUNQQzQ1CQkJTVBDODI0NQoJUE01MjAJCQlNUEM1MjAwCgpTdGVwaGVuIFdpbGxpYW1zIDxzdGV2ZUBpY2FydXMuY29tPgoKCUpTRQkJCVBQQzQwNUdQcgoKSm9obiBaaGFuIDx6aGFuekBzaW5vdmVlLmNvbT4KCglzdm1fc2M4eHgJCU1QQzh4eAoKVGltdXIgVGFiaSA8dGltdXJAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzQ5RS1tSVRYCQlNUEM4MzQ5CglNUEM4MzQ5RS1tSVRYLUdQCU1QQzgzNDkKCktpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CgoJTVBDODM0OUVNRFMJCU1QQzgzNDkKCkRhdmUgTGl1IDxkYXZlbGl1QGZyZWVzY2FsZS5jb20+CgoJTVBDODM2MEVNRFMJCU1QQzgzNjAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClVua25vd24gLyBvcnBoYW5lZCBib2FyZHM6CgoJQURTODYwCQkJTVBDOHh4CglGQURTODIzCQkJTVBDOHh4CglGQURTODUwU0FSCQlNUEM4eHgKCUZBRFM4NjBUCQlNUEM4eHgKCUdFTklFVFYJCQlNUEM4eHgKCUlBRDIxMAkJCU1QQzh4eAoJTUJYCQkJTVBDOHh4CglNQlg4NjBUCQkJTVBDOHh4CglOWDgyMwkJCU1QQzh4eAoJUlBYQ2xhc3NpYwkJTVBDOHh4CglSUFhsaXRlCQkJTVBDOHh4CgoJRVJJQwkJCVBQQzR4eAoKCU1PVVNTRQkJCU1QQzgyNHgKCglSUFhzdXBlcgkJTVBDODI2MAoJcnNkcHJvdG8JCU1QQzgyNjAKCglFVkI2NDI2MAkJTVBDN3h4Xzc0eHgKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQVJNIFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKUm93ZWwgQXRpZW56YSA8cm93ZWxAZGl3YWxhYnMuY29tPgoKCWFybWFkaWxsbwkJQVJNNzIwVAoKUmlzaGkgQmhhdHRhY2hhcnlhIDxyaXNoaUB0aS5jb20+CgoJb21hcDU5MTJvc2sJCUFSTTkyNkVKUwoKQ2xpZmYgQnJha2UgPGNsaWZmLmJyYWtlQGdtYWlsLmNvbT4KCglweGEyNTVfaWRwCQl4c2NhbGUKClJpY2sgQnJvbnNvbiA8cmlja0BlZm4ub3JnPgoKCUFUOTFSTTkyMDBESwkJYXQ5MXJtOTIwMAoKR2VvcmdlIEcuIERhdmlzIDxnZGF2aXNAbXZpc3RhLmNvbT4KCglhc3NhYmV0CQkJU0ExMTAwCglnY3BsdXMJCQlTQTExMDAKClRob21hcyBFbHN0ZSA8aW5mb0BlbHN0ZS5vcmc+CgoJbW9kbmV0NTAJCUFSTTcyMFQgKE5FVCs1MCkKClBldGVyIEZpZ3VsaSA8cGVwb3NoQGV0Yy5zaz4KCgl3ZXBlcDI1MAkJeHNjYWxlCgpNYXJpdXMgR3L2Z2VyIDxtYWdAc3lzZ28uZGU+CgoJaW1wYTcJCQlBUk03MjBUIChFUDcyMTEpCgllcDczMTIJCQlBUk03MjBUIChFUDczMTIpCgpLc2hpdGlqIEd1cHRhIDxrc2hpdGlqQHRpLmNvbT4KCglvbWFwMTUxMGlubgkJQVJNOTI1VAoJb21hcDE2MTBpbm4JCUFSTTkyNkVKUwoKS3lsZSBIYXJyaXMgPGtoYXJyaXNAbmV4dXMtdGVjaC5uZXQ+CgoJbHViYm9jawkJCXhzY2FsZQoJY3JhZGxlCQkJeHNjYWxlCglpeGRwNDI1CQkJeHNjYWxlCgpHYXJ5IEplbm5lam9obiA8Z2pAZGVueC5kZT4KCglzbWRrMjQwMAkJQVJNOTIwVAoJdHJhYgkJCUFSTTkyMFQKCktvbnN0YW50aW4gS2xldHNjaGtlIDxrbGV0c2Noa2VAc3luZXJ0cm9uaXh4LmRlPgoJc2NiOTMyOAkJCUFSTTkyMFQKCk5pc2hhbnQgS2FtYXQgPG5za2FtYXRAdGkuY29tPgoKCW9tYXAxNjEwaDIJCUFSTTkyNkVKUwoKUHJha2FzaCBLdW1hciA8cHJha2FzaEBlbWJlZHguY29tPgoKCWNlcmYyNTAJCQl4c2NhbGUKCkRhdmlkIE38bGxlciA8ZC5tdWVsbGVyQGVsc29mdC5jaD4KCglzbWRrMjQxMAkJQVJNOTIwVAoJVkNNQTkJCQlBUk05MjBUCgpSb2xmIE9mZmVybWFubnMgPHJvZkBzeXNnby5kZT4KCglzaGFubm9uCQkJU0ExMTAwCgpQZXRlciBQZWFyc2UgPHBldGVyLnBlYXJzZUBhcm0uY29tPgoJaW50ZWdyYXRvcmNwCQlBbGwgY3VycmVudCBBUk0gc3VwcGxpZWQgJgoJCQkJc3VwcG9ydGVkIGNvcmUgbW9kdWxlcwoJCQkJLXNlZSBodHRwOi8vd3d3LmFybS5jb20KCQkJCS9wcm9kdWN0cy9EZXZUb29scwoJCQkJL0hhcmR3YXJlX1BsYXRmb3Jtcy5odG1sCgl2ZXJzYXRpbGUJCUFSTTkyNkVKLVMKCXZlcnNhdGlsZQkJQVJNOTI2RUotUwoKRGF2ZSBQZXZlcmxleSA8ZHBldmVybGV5QG1wYy1kYXRhLmNvLnVrPgoKCW9tYXA3MzBwMgkJQVJNOTI2RUpTCgpTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CgoJaXhkcGc0MjUJCXhzY2FsZQoJcGRuYjMJCQl4c2NhbGUKCXNjcHUJCQl4c2NhbGUKClJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KCgljc2IyMjYJCQl4c2NhbGUKCWlubm9rb20JCQl4c2NhbGUKCkFuZHJlYSBTY2lhbiA8YW5kcmVhLnNjaWFuQGRhdmUtdGVjaC5pdD4KCglCMgkJCUFSTTdURE1JIChTM0M0NEIwWCkKCkdyZWcgVW5nZXJlciA8Z3JlZy51bmdlcmVyQG9wZW5nZWFyLmNvbT4KCgljbTQwMDgJCQlrczg2OTVwCgljbTQxMTYJCQlrczg2OTVwCgljbTQxNDgJCQlrczg2OTVwCgpSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+CgoJb21hcDI0MjBoNAkJQVJNMTEzNkVKUwoKQWxleCBa/HBrZSA8YXp1QHN5c2dvLmRlPgoKCWxhcnQJCQlTQTExMDAKCWRucDExMTAJCQlTQTExMTAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyB4ODYgU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpEYW5pZWwgRW5nc3Ry9m0gPGRhbmllbEBvbWljcm9uLnNlPgoKCXNjNTIwX2NkcAkJeDg2CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTUlQUyBTeXN0ZW1zOgkJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJaW5jYWlwCQkJTUlQUzMyIDRLYwoJcHVycGxlCQkJTUlQUzY0IDVLYwoKVGhvbWFzIExhbmdlIDx0aG9tYXNAY29yZWxhdHVzLnNlPgoJZGJhdTF4MDAJCU1JUFMzMiBBdTEwMDAKCWd0aDIJCQlNSVBTMzIgQXUxMDAwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTmlvcy0zMiBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKU3RlcGhhbiBMaW56IDxsaW56QGxpLXByby5uZXQ+CgoJREsxUzEwCQkJTmlvcy0zMgoJQUROUEVTQzEJCU5pb3MtMzIKClNjb3R0IE1jTnV0dCA8c21jbnV0dEBwc3llbnQuY29tPgoKCURLMUMyMAkJCU5pb3MtMzIKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBOaW9zLUlJIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpTY290dCBNY051dHQgPHNtY251dHRAcHN5ZW50LmNvbT4KCglQQ0k1NDQxCQkJTmlvcy1JSQoJUEsxQzIwCQkJTmlvcy1JSQoJRVAxQzIwCQkJTmlvcy1JSQoJRVAxUzEwCQkJTmlvcy1JSQoJRVAxUzQwCQkJTmlvcy1JSQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1pY3JvQmxhemUgU3lzdGVtczoJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCllhc3VzaGkgU2hvamkgPHlhc2hpQGF0bWFyay10ZWNobm8uY29tPgoKCVNVWkFLVQkJCU1pY3JvQmxhemUKCk1pY2hhbCBTaW1layA8bW9uc3RyQG1vbnN0ci5ldT4KCglNTDQwMQkJCU1pY3JvQmxhemUKCVhVUFYyUAkJCU1pY3JvQmxhemUKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDb2xkZmlyZSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC1lbGVjdHJvbmljcy5jb20+CgoJVEFTUkVHCQkJTUNGNTI0OQoKWmFjaGFyeSBQLiBMYW5kYXUgPHphY2hhcnkubGFuZGF1QGxhYnh0ZWNobm9sb2dpZXMuY29tPgoKCXI1MjAwCQkJbWNmNTJ4MgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEFWUjMyIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpIYWF2YXJkIFNraW5uZW1vZW4gPGhza2lubmVtb2VuQGF0bWVsLmNvbT4KCglBVFNUSzEwMDAJCUFUMzJBUDcwMDAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBFbmQgb2YgTUFJTlRBSU5FUlMgbGlzdAkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo=